ホームページ  >  記事  >  バックエンド開発  >  ## カスタム トランスポートを使用して 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。