I have the following code:
WebClient client = new WebClient();
String un = "Username";
String pw = "Password";
client.Credentials = new System.Net.NetworkCredential(un,pw);
client.DownloadFileCompleted +=
new AsyncCompletedEventHandler(downloadFileCompleted);
client.DownloadFileAsync(new Uri(url), Config.LocalDir + @"\data\supportData.xml");
Using NetworkMonitor on the server I receive the following:
Http: Request, GET /audiClave/REST/en/actions
Command: GET
URI: /audiClave/REST/en/actions
ProtocolVersion: HTTP/1.1
Host: 210.xxx.xxx.xxx:8080
Connection: Keep-Alive
HeaderEnd: CRLF
No Authentication entry. What am I missing?
Try the old fashioned way:
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(un + ":" + pw));
client.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials;
IIRC WebClient doesn't send the Authorization request header until it gets a challenge from the server with 401.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With