我在我们的一个Linux机器上遇到了这种情况。
$ curl 10.200.20.66:8087/ping
curl: (7) Failed to connect to 219.135.102.36 port 8118: Connection timed out
$ curl 114.114.114.114:80/x
curl: (7) Failed to connect to 219.135.102.36 port 8118: Connection timed out
如您所见,curl一直试图连接219.135.102.36:8118。
我已尝试使用nc
和telnet
,并且两者都给出了正确的结果。
最后,我转向strace curl 10.200.20.66:8087/ping
和output {/ 3>}。
有人可以帮忙解释为什么会这样吗?
答案 0 :(得分:1)
要确定发生了什么,请使用-v
开关打开详细程度:
$ http_proxy=1.2.3.4:8080 curl -v http://google.com
* About to connect() to proxy 1.2.3.4 port 8080 (#0)
* Trying 1.2.3.4...
* Connection timed out
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
在你的情况下,我猜测Curl试图使用代理。如果是这种情况,您应该检查以下内容:
http_proxy
环境变量:检查:
env | grep -i proxy
卷曲配置文件~/.curlrc
(不太可能,它不会显示在strace
中)
可以在命令行(-x
或--proxy
)上提供代理,因此请检查curl
是否在您的shell中别名
答案 1 :(得分:-2)