Curl 总是尝试与家庭网络中的 http 连接

Curl 总是尝试与家庭网络中的 http 连接

总剂量;

从我的家庭网络(MacOS Venture 13.4):curl https://ifconfig.me工作但curl ifconfig.mecurl http://ifconfig.me不工作。当连接到其他网络时,两者都可以正常工作。有什么办法可以调试这个问题吗?为什么它在后一种情况下不起作用?

长读:

我正在尝试访问curl ifconfig.me以返回IP地址。之前运行良好,但在过去 1-2 个月内它返回:

connect to 34.160.111.145 port 80 failed: Operation timed out
* Failed to connect to ifconfig.me port 80 after 75065 ms: Couldn't connect to server
* Closing connection 0

当我尝试使用 时curl https://ifconfig.me,它返回 IP 地址。虽然很详细,但它清楚地表明它正在尝试连接端口 443。

仅当我尝试连接家庭网络时才会出现此问题。当我连接到其他网络时,curl ifconfig返回一个值。

当我使用 Cloudflare 的 WARP 时,它工作得很好。所以可能是 DNS 问题。

我该如何调试这个问题?如何获取有关端口如何/为何连接到 80 (HTTP) 的更多详细信息?

我正在使用 MacOS Venture 13.4。

答案1

curl如果未使用 URL 指定协议,则默认使用 http。

如果你想覆盖它,请使用curl的选项,例如--proto-default

curl --proto-default https ifconfig.me

或者只用 URL 指定原型:

curl https://ifconfig

相关内容