>  기사  >  백엔드 개발  >  ## 사용자 정의 전송을 사용하여 Go HTTP 클라이언트에서 프록시 지원을 설정하는 방법은 무엇입니까?

## 사용자 정의 전송을 사용하여 Go HTTP 클라이언트에서 프록시 지원을 설정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-26 05:22:30229검색

##  How to Set Up Proxy Support in Go HTTP Clients with Custom Transports?

사용자 지정 전송과 함께 Go 프로그램에서 프록시 사용

Go에서 HTTP 클라이언트를 생성할 때 처리할 사용자 지정 전송을 지정해야 하는 경우가 많습니다. 특정 네트워크 설정. 그러나 표준 HTTP 클라이언트는 프록시 환경 변수를 자동으로 따르지 않습니다.

http.ProxyFromEnvironment 사용

Go 프로그램에서 프록시 지원을 활성화하려면 다음을 사용할 수 있습니다. http.ProxyFromEnvironment 메소드. 이 방법은 환경 변수 HTTP_PROXY, HTTPS_PROXY 및 NO_PROXY를 기반으로 프록시 URL을 반환합니다.

<code class="go">var PTransport = &http.Transport{
    Proxy: http.ProxyFromEnvironment,
}

client := http.Client{
    Transport: PTransport,
}</code>

사용 예

이 접근 방식이 작동하는지 테스트하려면 다음을 수행하세요. 프록시 환경 변수를 수동으로 설정합니다.

export http_proxy='http://user:password@proxy-server:3128'
export https_proxy='http://user:password@proxy-server:3128'
export HTTP_PROXY='http://user:password@proxy-server:3128'
export HTTPS_PROXY='http://user:password@proxy-server:3128'

이제 HTTP 클라이언트를 생성하고 요청을 보낼 수 있습니다.

<code class="go">req, _ := http.NewRequest("GET", "https://jsonplaceholder.typicode.com/todos/1", nil)
req.Header.Add("If-None-Match", `some value`)
resp, _ := client.Do(req)</code>

프록시 설정이 올바른 경우 원격에서 응답합니다. 서버가 표시되어야 합니다.

위 내용은 ## 사용자 정의 전송을 사용하여 Go HTTP 클라이언트에서 프록시 지원을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.