サードパーティ パッケージを使用する場合、既存のコードにプロキシ認証を追加するのは難しい場合があります。この記事では、認証済みプロキシを利用するように Go HTTP クライアントを構成する方法について説明します。
提供されたコードでは、resp.Header.Add("Proxy-Authorization", BasicAuth) 行を使用してプロキシ認証を追加しようとしました。リクエストを送信した後。ただし、リクエストを送信する前にプロキシ認証ヘッダーを設定する必要があるため、このアプローチは効果的ではない可能性があります。
この問題を解決するには、コードを変更して、プロキシ構成を使用してカスタム HTTP クライアントを作成する必要があります。この変更されたクライアントを使用してリクエストを行うことができます。これは次の方法で実現できます。
// Create a custom HTTP client with proxy authentication httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "proxy.com:8080", }), }, } // Make requests using the custom HTTP client response, err := httpClient.Get(...)
または、次のコード スニペットを使用してプロキシ URL を解析できます。
proxyURL, err := url.Parse("http://username:password@proxy.com:8080") httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyURL), }, }
カスタム HTTP クライアントが作成されたら、次のように置き換えることができます。プロキシ認証を使用してリクエストを処理するために、サードパーティのパッケージに組み込まれています。
以上がGo HTTP クライアントでプロキシ認証を適切に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。