2009-04-02 11 views

risposta

44

Assegnare un nuovo NetworkCredential istanza alla proprietà Credentials:

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

Questo non ha funzionato per me, ma impostando l'intestazione "Autorizzazione" in modo esplicito con le informazioni di base di autenticazione risposta di ikutsin ha funzionato per me. – markshep

+1

Entrambi i metodi (credenziali e aggiunta dell'intestazione) sono funzionanti. Ma non capisco quale sia la migliore e perché? – Archont

3

E 'anche possibile per l'autenticazione automaticamente. Questo utilizzerà le credenziali dell'utente attualmente connesso.

webClient.Credentials = CredentialCache.DefaultCredentials 
21

base esempio 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

Buon punto qui. La chattiness extra che questo evita può anche rappresentare un problema di prestazioni. – tallseth