Desidero effettuare una richiesta Web a una pagina che necessita dell'autenticazione. Come potrei fare questo? Ho trovato qualcosa che diceva possibilmente di usare la proprietà Credentials, ma non sono sicuro di come usarlo.Utilizzo dell'autenticazione HTTP con C# WebRequest
27
A
risposta
44
Assegnare un nuovo NetworkCredential
istanza alla proprietà Credentials
:
webClient.Credentials = new NetworkCredential("Mehrdad", "Password");
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
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
Entrambi i metodi (credenziali e aggiunta dell'intestazione) sono funzionanti. Ma non capisco quale sia la migliore e perché? – Archont