【问题标题】:`new HttpRequestMessage(...)` in docker application cannot access internet?docker应用程序中的`new HttpRequestMessage(...)`无法访问互联网?
【发布时间】:2018-08-13 04:38:27
【问题描述】:

如果不在 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:发送请求时出错。 ---> System.Net.Http.CurlException:无法连接到服务器 在 System.Net.Http.CurlHandler.ThrowIfCURLEError(CURLcode 错误) 在 System.Net.Http.CurlHandler.MultiAgent.FinishRequest(StrongToWeakReference``1 easyWrapper,CURLcode messageResult) --- 内部异常堆栈跟踪结束 --- 在 System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage 请求, CancellationTokenSource cts, Boolean disposeCts)}

【问题讨论】:

  • 尝试重启docker。我发现Windows上的Docker,以及里面的任何容器,第一次启动的时候都不能上网,所以每天都要重启。当然,这可能与您的情况无关:)
  • 你的 docker 设置是什么?你暴露了哪些端口?
  • @kfrajer 我认为暴露的端口无关紧要:)

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


【解决方案1】:

在下面的 github 问题之后,从异常所告诉的情况来看,您似乎有一个潜在的请求错误。信息不多,你得从请求端检查出来。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-24
    • 2014-11-16
    • 2016-02-20
    • 2019-08-23
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多