【发布时间】:2021-04-23 07:56:29
【问题描述】:
我对 httpClient 有一个奇怪的问题。 我正在尝试向远程 API 发出 GET 请求。 cUrl 在终端上运行良好,但具有相同请求的 httpClient 只会超时。 我使用https://curl.olsh.me/ 工具创建了 httpClient 并将等待时间设置为 2 分钟。 请求被触发后,它等待,但没有得到响应代码,并进入异常
2021-04-23 03:40:22.686 +01:00 [INF] {httpRequest}
2021-04-23 03:42:02.798 +01:00 [ERR] Exception Message : The operation has timed out.
请您猜猜可能是什么问题。提前谢谢你
【问题讨论】:
-
你能告诉我们你的代码吗?
-
这样的失败通常是由于三个不同的问题 1) 如果 30 秒后发生错误,则意味着代理超时。正在使用代理,但代理从未响应 2) 请求中的 HTTP 标头错误或丢失。 c# 中的默认标头与其他语言不同。 3) 您正在使用 HTTPS(安全)并且使用的 TLS 身份验证失败。 Cookie 可能不是问题。首次建立连接时会建立 cookie。然后在后续连接中使用 cookie 以减少连接时间。饼干只会有帮助。不会导致失败。
标签: c# curl .net-core httpclient .net-core-3.1