2009-04-02 5 views

Antwort

44

eine neue NetworkCredential Instanz der Credentials Eigenschaft zuweisen:

webClient.Credentials = new NetworkCredential("Mehrdad", "Password"); 
+1

Das hat bei mir nicht funktioniert, aber ikutsin Antwort die "Berechtigung" Header explizit mit Basisauthentifizierungsinformationen funktionierte für mich zu setzen. – markshep

+1

Beide Methoden (Anmeldeinformationen und Header hinzufügen) funktionieren. Aber ich verstehe nicht, welches besser ist und warum? – Archont

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