http.Client 및 http.Transport를 사용하여 요청에 대한 헤더 설정
사용 가능한 여러 IP 주소로 HTTP 요청을 수행하는 경우 다음이 필요합니다. 나가는 연결에 대해 원하는 IP를 지정하십시오. 이는 http.Client 및 http.Transport 구조를 사용하여 수행할 수 있습니다.
특정 IP로 다이얼러 생성
먼저, net.Dialer 인스턴스를 생성하고 설정합니다. LocalAddr 필드를 원하는 IP 주소로 설정합니다. 코드에서는 다음 작업을 수행합니다.
<code class="go">tcpAddr := &net.TCPAddr{ IP: addrs[3].(*net.IPNet).IP, // Choosing ip address number 3 } d := net.Dialer{LocalAddr: tcpAddr}</code>
http.Transport 사용자 정의
다음으로 http.Transport 인스턴스를 생성하고 사용자 정의 다이얼러로 Dial 필드를 구성합니다. :
<code class="go">transport := &http.Transport{ Dial: (&net.Dialer{LocalAddr: tcpAddr}).Dial, TLSHandshakeTimeout: 10 * time.Second, }</code>
http.Client 생성
마지막으로 http.Client 인스턴스를 생성하고 Transport 필드를 사용자 정의 전송으로 설정합니다.
<code class="go">client := &http.Client{ Transport: transport, }</code>
요청 헤더 설정
특정 요청에 대한 헤더를 설정하려면 http.Request 객체를 생성하고 해당 헤더 필드에 Set 메서드를 사용해야 합니다.
<code class="go">req, err := http.NewRequest("GET", "https://www.whatismyip.com/", nil) if err != nil { // Handle error } req.Header.Set("name", "value")</code>
구성된 클라이언트 사용
헤더를 설정한 후에는 클라이언트 인스턴스의 Do 메소드를 사용하여 요청을 실행할 수 있습니다.
<code class="go">resp, err := client.Do(req) if err != nil { // Handle error } // Handle the response</code>
다음 단계에 따라 나가는 연결에 특정 IP 주소를 사용하면서 HTTP 요청에 대한 헤더를 설정할 수 있습니다.
위 내용은 HTTP 요청에 대한 헤더를 설정하고 http.Client 및 http.Transport에서 특정 IP 주소를 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!