11
Come utilizzare WebClient.DownloadFile
con l'autenticazione digest e una stringa di query?Come utilizzare WebClient.DownloadFile con autenticazione digest e una stringa di query
Quando provo ad usarlo ottengo una risposta 401.
Questo è il log degli errori di Apache:
[Tue Jun 24 17:31:49 2014] [error] [client x.x.x.x] Digest: uri mismatch - </file-1.php> does not match request-uri </file-1.php?since=1403587422>
Ecco come provo a scaricare il file:
Uri uri = new Uri("http://example.com/file-1.php?since=1403587422");
WebClient webClient = new WebClient();
CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(
new Uri(uri.GetLeftPart(UriPartial.Authority)),
"Digest",
new NetworkCredential("username", "password")
);
webClient.Credentials = credentialCache;
webClient.DownloadFile(uri, file.OutputFile);
Forse http://stackoverflow.com/questions/3172510/ how-can-i-do-digest-authentication-with-httpwebrequest – Brian
Si suppone di ottenere una risposta 401 dopo la richiesta. La risposta 401 contiene l'intestazione WWW-Authenticate di cui è necessario calcolare la risposta alla verifica. Scopri come funziona il protocollo di autenticazione digest. http://technet.microsoft.com/en-us/library/cc780170(v=ws.10).aspx –
@MikeHixson Ottengo la multa 401, la sua richiesta dopo quella che fallisce. – Petah