如果不在 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/