11
Jak używać WebClient.DownloadFile
z uwierzytelnianiem skrótu i ciągiem zapytania?Jak korzystać z WebClient.DownloadFile z uwierzytelnianiem digest i ciągiem zapytania
Kiedy próbuję go użyć, otrzymuję odpowiedź 401.
To jest dziennik błędów 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>
Oto jak próbuję pobrać plik:
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);
Może http://stackoverflow.com/questions/3172510/ how-can-i-do-digest-authentication-with-httpwebrequest – Brian
Masz otrzymać odpowiedź 401 po żądaniu. Odpowiedź 401 zawiera nagłówek WWW-Authenticate, który należy obliczyć w odpowiedzi na wezwanie. Sprawdź, jak działa szyfrowany protokół uwierzytelniania. http://technet.microsoft.com/en-us/library/cc780170(v=ws.10).aspx –
@MikeHixson Dostaję 401 dobrze, jego żądanie po tym, który nie powiedzie się. – Petah