curl 无法连接;wget 可以

curl 无法连接;wget 可以

尝试连接到远程服务器上的我的脚本,curl但是:

col-pos-spd# curl -v http://***:80/monitor/reply.php
* About to connect() to *** port 80 (#0)
*   Trying 83.xxx.xxx.2... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host

然后我尝试了wget一下:

wget -v http://***/monitor/reply.php
--2011-09-22 12:29:07--  http://***/monitor/reply.php
Connecting to 83.xxx.xxx.2:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 8 [text/html]
Saving to: `reply.php'

100%[====================================================================================================================>] 8           --.-K/s   in 0s

2011-09-22 12:29:07 (1.05 MB/s) - `reply.php' saved [8/8]

所以我不知道我为什么会遇到错误curl以及如何避免它?

答案1

代理请求已发送,正在等待响应...200 OK

wget 可能使用代理设置而 curl 没有 - 请检查您的环境变量(http_proxy?)和启动文件。

你可以用这个测试

wget --proxy=off …

wget 1.13检查环境变量http_proxy, ftp_proxy, no_proxy
curl 7.22检查环境变量http_proxy, HTTPS_PROXY, FTP_PROXY, GOPHER_PROXY, ALL_PROXY, NO_PROXY

wget 可以从中读取这些设置~/.wgetrc
curl 可以从中读取这些设置~/.curlrc

答案2

我遇到了同样的问题,我刚刚解决了!
答案是打开 PSAV 模式,因为 curl 默认使用 FTP 的 PORT 模式。使用方法如下:

curl --ftp-port 21  ftp://your.address

相关内容