Custom Transport에서 프록시 사용: Go 프로그래밍 방식
Go에서 기본적으로 http.Client는 시스템의 프록시 설정을 다음과 같이 사용합니다. HTTP_PROXY 및 HTTPS_PROXY와 같은 환경 변수에서 구성됩니다. 그러나 이 동작은 사용자 정의 전송으로 확장되지 않을 수 있습니다.
http.ProxyFromEnvironment를 사용하여 프록시 설정
사용자 정의 전송에 대한 프록시를 프로그래밍 방식으로 구성하려면 다음을 사용할 수 있습니다. http.ProxyFromEnvironment 메소드. 이 메소드는 환경 변수를 기반으로 프록시 URL을 반환하며, HTTPS 요청에 대해 HTTPS_PROXY가 우선 적용됩니다.
<code class="go">import ( "log" "net/http" "os" ) func main() { // Get proxy URL from environment variables proxyURL := http.ProxyFromEnvironment(os.Getenv) // Create a custom transport transport := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, Proxy: proxyURL, } // Create a client with the custom transport client := &http.Client{Transport: transport} // Send a request through the proxy resp, err := client.Get("https://example.com") if err != nil { log.Fatal("Error making request:", err) } // Read the response body defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal("Error reading response:", err) } // Print the response body fmt.Println(string(body)) }</code>
이 코드 조각은 http.ProxyFromEnvironment를 사용하여 사용자 지정 전송을 위한 프록시를 설정하는 방법을 보여줍니다. 환경 변수를 사용하여 프록시 설정을 구성하면 코드를 수정하지 않고도 다양한 프록시 구성 간에 쉽게 전환할 수 있습니다.
위 내용은 Go에서 사용자 정의 전송을 위한 프록시를 프로그래밍 방식으로 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!