ホームページ >バックエンド開発 >Golang >PostForm で Go HTTP プロキシ リクエストを認証するにはどうすればよいですか?

PostForm で Go HTTP プロキシ リクエストを認証するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-28 14:17:18362ブラウズ

How to Authenticate Go HTTP Proxy Requests with PostForm?

認証付き http プロキシに移行する

認証付きプロキシが必要なシナリオの場合、PostForm メソッドの使用は困難な場合があります。この記事では、この問題の回避策について説明します。

初期アプローチとその制限

通常、認証にはリクエストに Proxy-Authorization ヘッダーを設定するだけで十分です。ただし、サードパーティのパッケージを変更してプロキシ サポートを追加しようとする場合、クライアントの作成後に Proxy-Authorization ヘッダーを追加するだけでは不十分な場合があります。

代替ソリューション

別のアプローチは、必要なプロキシ構成を使用してカスタマイズされた HTTP クライアントを作成することです。このクライアントは、サードパーティ パッケージに置き換えることができます。

コード スニペット:

client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(&url.URL{
      Scheme: "http",
      User:   url.UserPassword("username", "password"),
      Host:   "146.137.9.45:65233",
    }),
  },
}

このクライアントは、代わりにサードパーティ パッケージで利用できます。毎回新しいクライアントを作成します。

あるいは、プロキシ URL を解析することもできます。直接:

url, _ := url.Parse("http://username:[email protected]:65233")
client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(url),
  },
}

このカスタマイズされたクライアントを使用すると、認証付きプロキシをサードパーティ パッケージにシームレスに統合でき、PostForm メソッドを介して認証されたプロキシ リクエストが可能になります。

以上がPostForm で Go HTTP プロキシ リクエストを認証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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