8

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?

1 Answer 1

35

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.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.