基本驗證和伺服器關閉錯誤故障排除
本文解決了在 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中文網其他相關文章!