2009-04-02 8 views

Répondre

44

attribuer une nouvelle NetworkCredential instance à la Credentials propriété:

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

Cela ne fonctionne pas pour moi, mais la réponse de ikutsin le réglage de la "Autorisation" en-tête explicitement avec l'info de base a travaillé pour moi. – markshep

+1

Les deux méthodes (informations d'identification et en-tête d'ajout) sont des travaux. Mais je ne comprends pas vraiment lequel est le meilleur et pourquoi? – Archont

3

Il est également possible d'authentifier automatiquement. Cela utilisera les informations d'identification de l'utilisateur actuellement connecté.

webClient.Credentials = CredentialCache.DefaultCredentials 
21

exemple de base auth:

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

Bon point ici. Le bavardage supplémentaire que cela évite peut également être un problème de performance. – tallseth

Questions connexes