사용자 정의 전송을 통한 프록시 사용을 위한 Go 프로그램
Go에서는 표준 라이브러리의 http.Client가 자동으로 프록시 기반을 사용하도록 구성할 수 있습니다. 환경 변수에 대해. 그러나 사용자 정의 전송을 사용하는 경우 이 기능은 직접 지원되지 않습니다.
해결책은 http.ProxyFromEnvironment 메서드를 활용하는 것입니다. 이 메서드는 HTTP_PROXY 및 HTTPS_PROXY와 같은 환경 변수를 기반으로 지정된 요청에 사용할 프록시 URL을 반환합니다.
Go에서 사용자 지정 전송과 함께 프록시를 사용하려면 다음 단계를 따르세요.
사용자 정의 http.Transport 인스턴스 생성:
<code class="go">tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, }</code>
ProxyFromEnvironment를 사용하여 프록시 URL 설정:
<code class="go">var PTransport = &http.Transport{Proxy: http.ProxyFromEnvironment}</code>
사용자 정의 전송을 사용하여 http.Client를 생성합니다.
<code class="go">client := http.Client{Transport: PTransport}</code>
클라이언트를 사용하여 요청합니다.
<code class="go">resp, err := client.Get(url)</code>
다음 코드입니다. 이 접근 방식을 보여주는 예:
<code class="go">package main import ( "fmt" "io/ioutil" "net/http" ) func main() { var PTransport = &http.Transport{Proxy: http.ProxyFromEnvironment} client := http.Client{Transport: PTransport} resp, err := client.Get("https://jsonplaceholder.typicode.com/todos/1") if err != nil { panic(err) } bodyBytes, err := ioutil.ReadAll(resp.Body) if err != nil { panic(err) } fmt.Printf("GET Response = %s \n", string(bodyBytes)) }</code>
프록시 서버에 맞게 HTTP_PROXY 및 HTTPS_PROXY 환경 변수를 적절하게 설정해야 합니다.
위 내용은 Go에서 사용자 정의 전송과 함께 프록시를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!