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

Ank*_*kit 2 windows-10

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

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

令人惊讶的是,我的 Win 8.1 桌面应用程序(使用相同的代码)运行得非常好,我能够与支付网关进行通信。

kie*_*wic 5

桌面应用程序和通用应用程序之间的区别一定是最近.NET Native 更改的副作用(阅读更多)。

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

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

尝试:

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 ...
}
Run Code Online (Sandbox Code Playgroud)