Ich möchte eine Webanforderung an eine Seite senden, die authentifiziert werden muss. Wie würde ich das machen? Ich habe etwas gefunden, das möglicherweise die Credentials-Eigenschaft verwendet, aber ich weiß nicht, wie ich es verwenden soll.HTTP-Authentifizierung mit einer C# WebRequest verwenden
27
A
Antwort
44
eine neue NetworkCredential
Instanz der Credentials
Eigenschaft zuweisen:
webClient.Credentials = new NetworkCredential("Mehrdad", "Password");
3
Es ist auch möglich, automatisch mit authentifizieren. Dies verwendet die Anmeldeinformationen des aktuell angemeldeten Benutzers.
webClient.Credentials = CredentialCache.DefaultCredentials
21
Grund Auth Beispiel:
public void SetBasicAuthHeader(WebRequest req, String userName, String userPassword)
{
string authInfo = userName + ":" + userPassword;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
req.Headers["Authorization"] = "Basic " + authInfo;
}
http://blog.kowalczyk.info/article/at3/Forcing-basic-http-authentication-for-HttpWebReq.html
+0
Guter Punkt hier. Die damit verbundene zusätzliche Schwüle kann auch ein Leistungsproblem sein. – tallseth
Das hat bei mir nicht funktioniert, aber ikutsin Antwort die "Berechtigung" Header explizit mit Basisauthentifizierungsinformationen funktionierte für mich zu setzen. – markshep
Beide Methoden (Anmeldeinformationen und Header hinzufügen) funktionieren. Aber ich verstehe nicht, welches besser ist und warum? – Archont