基本身份验证和服务器关闭错误故障排除
本文解决了在 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中文网其他相关文章!