2011-06-22 30 views
8

Aşağıdaki kod var: Aşağıdakileri almak sunucuda networkmonitor kullanmaEksik Temel HTTP kimlik giriş

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"); 

:

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 

yok Doğrulama girişi. Neyi kaçırıyorum?

cevap

34

eski moda yolu deneyin: Bu 401

ile sunucudan bir meydan okuma alıncaya kadar

string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(un + ":" + pw)); 
client.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials; 

IIRC WebClient Yetkilendirme isteği başlığını göndermez

İlgili konular