Dépannage des erreurs d'authentification de base et de fermeture du serveur
Cet article aborde un problème courant rencontré lors de l'utilisation de l'authentification de base avec IIS : une erreur de fermeture du serveur. La cause première réside souvent dans le codage utilisé pour les informations d'authentification.
Voici un exemple de code illustrant la solution :
<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>
La clé pour résoudre l'erreur de fermeture du serveur consiste à utiliser le codage correct. Bien que UTF-8 soit fréquemment utilisé, ISO-8859-1 est le codage approprié pour l'authentification de base dans ce scénario. Le code mis à jour définit explicitement le codage sur ISO-8859-1, garantissant que l'en-tête d'autorisation est correctement formaté et empêchant le serveur de fermer la connexion.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!