Go での基本 HTTP 認証のトラブルシューティング
開発者が基本 HTTP 認証を実装しようとすると、サポートされていないプロトコル スキーム エラーが発生しました。提供されたコード スニペットを調べると、エラーはリクエストの初期化内にあります。
req, err := http.NewRequest("GET", "mydomain.example", nil)
この問題は、空のプロトコル スキームの使用から発生します。このエラーを修正するには、リクエストでプロトコル スキームを明示的に指定する必要があります。基本 HTTP 認証の場合、プロトコル スキームは「http」または「https」である必要があります。
プロトコル スキームを正しく指定すると、リクエストは適切なプロトコルを使用して送信され、サポートされていないプロトコル スキームのエラーが回避されます。 :
req, err := http.NewRequest("GET", "http://mydomain.example", nil)
この修正により、基本的な HTTP 認証は意図したとおりに機能するはずです。ただし、アクセスされている Web サイトがリダイレクトを実行する場合、Go は指定されたヘッダーを破棄する可能性があることに注意してください。これに対処するには、リダイレクト後に認証ヘッダーを再追加するカスタム リダイレクト関数を実装できます。
以上がGo で基本 HTTP 認証を実装すると「サポートされていないプロトコル スキーム」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。