将WebClient转换为HttpClient,在发送身份验证时遇到问题。

7 浏览
0 Comments

将WebClient转换为HttpClient,在发送身份验证时遇到问题。

这个能工作:

WebClient client = new WebClient();
client.Headers[HttpRequestHeader.Authorization] = "Basic " + base64;
client.DownloadStringCompleted += getAccessToken_DownloadStringCompleted;
client.DownloadStringAsync(new Uri(URL));

然而,由于我开始使用可移植类库,我需要将它移到HttpClient,所以我得到了这个:

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64);
string response = await client.GetStringAsync(URL); 

但是这里HttpClient在周围的try/catch中失败,显示:

响应状态码不表示成功:400(错误请求)。

我真的看不出有什么区别...可能是什么问题?

0