httpclient 在公司代理中无法从 .net6 工作
Posted
技术标签:
【中文标题】httpclient 在公司代理中无法从 .net6 工作【英文标题】:httpclient is not working from .net6 in corporate proxy 【发布时间】:2022-01-19 05:15:04 【问题描述】:我在下面尝试过-
尝试使用代理和凭据来创建 httpclient 对象。 检查代码在 *** 外部执行而不在 *** 内部执行。 尝试从此 repo 下载代码并尝试在我的 office 代理下复制它不适用于 .net6 示例。它一直适用于 .net5 及以下版本。 .net6 示例我指的是 AspNetCore.Docs/aspnetcore/fundamentals/http-requests/samples/6.x/HttpRequestsConsoleSample/ 尝试在此 repo on .net6 示例的示例代码中降级 Microsoft.Extensions.Http 包(从 6.0.0 到 2.1.1 以及介于两者之间的所有内容)。 不管我做了什么 .net6 httpclient.sendAsync 方法调用总是导致以下错误。有人可以帮忙吗?
System.Net.Http.HttpRequestException: '发送请求时出错。'
IOException: 无法从传输连接中读取数据:已建立的连接已被主机中的软件中止..
SocketException: 已建立的连接被主机中的软件中止。
【问题讨论】:
嗨@Saiteja Samala,我已经使用AspNetCore.Docs/aspnetcore/fundamentals/http-requests/samples/6.x/HttpRequestsConsoleSample/
测试了代码。它运作良好。也许您需要使用 Fiddler 来捕获请求并检查出错的位置。
嗨@Rena 是的,上面链接中的代码在 *** 之外也适用于我。当我在 *** 内部时,问题在于 .net5 中的类似代码(以下是 url)对内部和外部 *** 都有效,而 .net6 则不然。你能帮我解决我在这里缺少的东西吗? github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/…
【参考方案1】:
我继续向项目 (.NET 6) 添加了一个 runtimeconfig.template.json 文件,其中包含以下内容:
"configProperties":
"System.Net.DisableIPv6": "true"
这解决了我的问题。
来源:https://github.com/dotnet/runtime/issues/62825
【讨论】:
以上是关于httpclient 在公司代理中无法从 .net6 工作的主要内容,如果未能解决你的问题,请参考以下文章
在 .net 4.5 中尝试使用 HttpClient 使 cookie 无法响应
.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器
无法使用 HttpClient 对 ASP.NET Web Api 服务进行身份验证