ホームページ >バックエンド開発 >Golang >Go HTTP クライアントでプロキシ認証を適切に構成するにはどうすればよいですか?

Go HTTP クライアントでプロキシ認証を適切に構成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 13:23:16581ブラウズ

How to Properly Configure Proxy Authentication with the Go HTTP Client?

Go HTTP クライアントによるプロキシ認証

サードパーティ パッケージを使用する場合、既存のコードにプロキシ認証を追加するのは難しい場合があります。この記事では、認証済みプロキシを利用するように 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 サイトの他の関連記事を参照してください。

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