curl始终连接到特定的ip:端口对

时间:2017-10-31 07:42:33

标签: linux curl

我在我们的一个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。

我已尝试使用nctelnet,并且两者都给出了正确的结果。

最后,我转向strace curl 10.200.20.66:8087/pingoutput {/ 3>}。

有人可以帮忙解释为什么会这样吗?

2 个答案:

答案 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)

卷曲应与网站,http,https,ftp。

一起使用

示例curl" http://www.google.com"

它以html格式提供输出

请检查并尝试正确的格式