Die Verwendung der Standardauthentifizierung mit HttpWebRequest
kann manchmal zu der Meldung „Unerwarteter Fehler beim Senden“ führen. Dieses Problem lässt sich häufig durch manuelles Hinzufügen des Autorisierungsheaders zu Ihrer Anfrage beheben.
Die Lösung besteht darin, Ihren Benutzernamen und Ihr Passwort als Base64-Zeichenfolge zu kodieren, um die Kompatibilität zwischen verschiedenen HTTP-Servern sicherzustellen. Die System.Convert.ToBase64String
-Methode in Kombination mit der ISO-8859-1
-Codierung erreicht Folgendes:
<code class="language-csharp">string username = "abc"; string password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));</code>
Als nächstes hängen Sie diese codierte Zeichenfolge an das „Basic“-Authentifizierungsschema an und fügen Sie sie als „Authorization“-Header zu Ihrem HttpWebRequest
-Objekt hinzu:
<code class="language-csharp">httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);</code>
Diese manuelle Header-Hinzufügung stellt mithilfe der angegebenen Codierung eine ordnungsgemäße Kommunikation mit Servern sicher, die eine Basisauthentifizierung erfordern, und verhindert so den „unerwarteten Fehler beim Senden“ während des Anforderungsprozesses.
Das obige ist der detaillierte Inhalt vonWie kann ein „unerwarteter Fehler bei einem Versand' bei Verwendung der Standardauthentifizierung mit HttpWebRequest behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!