首页 > 解决方案 > HttpClient 为 https 请求强制使用端口 80

问题描述

我有一个程序正在尝试使用 https 向另一个程序发送请求。此代码示例省略了内容的构建,但它是我发送方式的一个示例:

var uri = new Uri("https://somehost:443/somepath");
var client = new HttpClient();
client.DefaultRequestHeaders.Add("ContentType", "application/x-www-form-urlencoded");
var result = client.PostAsync(uri, content).Result;

当我执行 PostAsync 时,我收到一个异常回复说“无法建立连接,因为目标机器主动拒绝它[redacted] :80”。

我不明白它为什么要尝试访问端口 80。我什至专门尝试强制使用端口 443。我最初的尝试将其关闭,只是相信它可以使用 https 做正确的事情。

一些主要产生 stackoverflow 结果的谷歌搜索暗示可能涉及代理。但据我所知,没有。

这是.NET 4.5.1

标签: .netdotnet-httpclient

解决方案


推荐阅读