Maison >développement back-end >C++ >Comment corriger « Erreur inattendue lors d'un envoi » lors de l'utilisation de l'authentification de base avec HttpWebRequest ?
L'utilisation de l'authentification de base avec HttpWebRequest
peut parfois entraîner un message "Erreur inattendue lors d'un envoi". Ce problème est souvent résolu en ajoutant manuellement l'en-tête d'autorisation à votre demande.
La solution consiste à encoder votre nom d'utilisateur et votre mot de passe sous forme de chaîne Base64, garantissant ainsi la compatibilité entre différents serveurs HTTP. La méthode System.Convert.ToBase64String
, combinée à l'encodage ISO-8859-1
, permet d'obtenir ceci :
<code class="language-csharp">string username = "abc"; string password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));</code>
Ensuite, ajoutez cette chaîne codée au schéma d'authentification « de base » et ajoutez-la en tant qu'en-tête « Autorisation » à votre HttpWebRequest
objet :
<code class="language-csharp">httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);</code>
Cet ajout manuel d'en-tête, utilisant l'encodage spécifié, garantit une communication correcte avec les serveurs nécessitant une authentification de base, évitant ainsi "l'erreur inattendue lors de l'envoi" pendant le processus de demande.
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!