c# - docker 应用程序中的 `new HttpRequestMessage(...)` 无法访问互联网?

标签 c# docker .net-core docker-for-windows

如果不在 docker 中,以下代码(.Net core 2.1,使用 visual studio 创建)运行没有错误。

var uri = new Uri("https://usbtrustgateway.usbank.com/portal/login.do");
using(var request = new HttpRequestMessage(RequestUri: uri, Method: httpMethod)) {

但是,在docker(Linux) 中运行或使用Visual Studio 调试运行“docker-compose”时出现以下错误?

{System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.CurlException: Couldn't connect to server at System.Net.Http.CurlHandler.ThrowIfCURLEError(CURLcode error) at System.Net.Http.CurlHandler.MultiAgent.FinishRequest(StrongToWeakReference``1 easyWrapper, CURLcode messageResult) --- End of inner exception stack trace --- at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)}

最佳答案

在下面的 github 问题之后,从异常的角度来看,您似乎有一个潜在的请求错误。信息不多,你必须从请求端检查出来。

https://github.com/dotnet/corefx/issues/24472

此外,从个人角度来看,我这边的 docker 通常存在连接问题,因此请尝试将其关闭并打开游戏,看看它是否有效,否则您将不得不在卷边。可能与所述的 github 问题相同。

关于c# - docker 应用程序中的 `new HttpRequestMessage(...)` 无法访问互联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815287/

相关文章:

linux - 运行 Docker 脚本时未找到文件,但在另一个 Docker 脚本中找到了文件

java - 在 Airflow 中设置 DB2

asp.net-mvc - 调试时编辑 .NET Core cs 文件

c# - MySQL.Data 到 Pomelo - MysqlReader 更改

c# - Newtonsoft.Json - 从 JSON 中获取反序列化对象的相应行号,以便更好地处理错误

c# - 将 xUnit.net Console Runner 与 Mono 结合使用

docker exec 无法在 docker-compose 容器中工作

.net-core - 如何使用 Identity Server 4 授权码授权类型流程获取授权码

c# - 比匿名类型的通用列表更好的方法

c# - 如何检查 Button.Tag 的首字母?