基本認証およびサーバー閉鎖エラーのトラブルシューティング
この記事では、IIS で基本認証を使用するときに発生する一般的な問題、つまりサーバー閉鎖エラーについて説明します。 多くの場合、根本原因は認証資格情報に使用されるエンコーディングにあります。
解決策を示すコード例は次のとおりです:
<code class="language-csharp">CookieContainer myContainer = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://telematicoprova.agenziadogane.it/TelematicoServiziDiUtilitaWeb/ServiziDiUtilitaAutServlet?UC=22&SC=1&ST=2"); string username = "abc"; string password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password)); request.Headers.Add("Authorization", "Basic " + encoded); request.CookieContainer = myContainer; request.PreAuthenticate = true; HttpWebResponse response = (HttpWebResponse)request.GetResponse();</code>
サーバー閉鎖エラーを解決する鍵は、正しいエンコーディングを使用することです。 UTF-8 は頻繁に使用されますが、このシナリオでは基本認証に適切なエンコーディングは ISO-8859-1 です。 更新されたコードは、エンコーディングを明示的に ISO-8859-1 に設定し、認証ヘッダーが正しく設定されていることを確認します。フォーマットされているため、サーバーが接続を閉じることができません。
以上が基本認証がサーバー閉鎖エラーで失敗するのはなぜですか? ISO-8859-1 エンコーディングを使用して修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。