我今天已经从4.1到4.2更新了我的Xamarin工具。现在我的Android应用程序在访问我的Web服务器时给了我Error 400: Bad Request
。
我使用的两台服务器正在运行启用了SSL的IIS。
对其中一台服务器的请求正常。对于其他服务器的请求我在Android 6上得到400:错误请求。相同的代码在iOS和Windows Phone上正常工作。如果我在各方之间配置代理(例如Fiddler),一切都可以正常工作。
有人遇到同样的问题或有线索,Android设备或模拟器上有什么问题?
我尝试在项目属性中尝试不同的HTTP客户端处理程序,但它们都没有区别。
这里有相关代码:
using (var handler = new HttpClientHandler
{
AllowAutoRedirect = false,
Credentials = _credentials,
PreAuthenticate = true,
Proxy = WebRequest.DefaultWebProxy,
})
{
using (var client = new HttpClient(handler))
{
client.DefaultRequestHeaders.UserAgent.TryParseAdd(_userAgent);
client.Timeout = ExecutionTimeout;
using (var msg = await client.GetAsync(uri, cancelTokenSource.Token).ConfigureAwait(false))
{
return await msg.Content.ReadAsStringAsync().ConfigureAwait(false);
}
}
}