使用HTTP的错误请求更新后获取请求

时间:2016-09-14 16:13:13

标签: xamarin httpclient bad-request

我今天已经从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);
        }
    }
}

0 个答案:

没有答案