カスタム トランスポートを使用した 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 サイトの他の関連記事を参照してください。