在System.Net.HttpClient中获取异常 - 重定向请求会将安全性更改为非安全连接

时间:2015-10-07 12:26:12

标签: windows-10

我正在开发一个通用的Windows 10应用程序,我需要在其中集成一些支付网关。我在与支付网关交互时遇到异常。例外情况如下:

  

找不到与此错误代码关联的文本。重定向请求会将安全更改为非安全连接。

令人惊讶的是,我的Win 8.1桌面应用程序(使用相同的代码)工作正常,我可以与支付网关进行通信。

1 个答案:

答案 0 :(得分:4)

桌面应用和通用应用之间的差异必须是最近.NET Native changesread more)的副作用。

错误( 0x80072f08 )表示您正在执行 HTTPS 请求,该请求通过重定向到 HTTP 网址进行响应。

您需要关闭自动重定向并自行进行重定向。

尝试:

HttpClientHandler handler = new HttpClientHandler();
handler.AllowAutoRedirect = false;
HttpClient client = new HttpClient(handler);

HttpResponseMessage response = await client.GetAsync(uri);

if (response.StatusCode == HttpStatusCode.Redirect ||
    response.StatusCode == HttpStatusCode.MovedPermanently)
{
    Uri redirectUri = response.Headers.Location;

    // TODO: Repeat request with redirectUri ...
}