HTTP 요청에 대한 IP 선택 사용자 정의
Go의 HTTP 요청에 대한 표준 라이브러리는 나가는 요청에 사용되는 소스 IP 주소를 명시적으로 지정하지 않습니다. . 이는 질문을 제기합니다: 이러한 요청에 대해 IP 주소를 수동으로 지정할 수 있습니까?
해결책
예, 클라이언트의 전송에서 사용자 정의 다이얼러를 설정하여 HTTP 요청에 사용되는 IP 주소입니다. 방법은 다음과 같습니다.
// Create a transport like http.DefaultTransport, but with a specified localAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, // Set the desired local address here DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client with the custom transport client := &http.Client{ Transport: transport, }
다이얼러에 LocalAddr을 할당하면 해당 클라이언트를 통해 이루어진 HTTP 요청에 사용될 소스 IP 주소를 지정할 수 있습니다. 이를 통해 대상 서버에 노출될 IP 주소를 제어할 수 있어 IP 평판 관리 또는 라우팅 고려 사항에 유연성을 제공합니다.
위 내용은 Go에서 HTTP 요청에 대한 사용자 정의 소스 IP 주소를 어떻게 지정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!