cURLocks5代理:“服务器回复为空”

cURLocks5代理:“服务器回复为空”

我正在使用 Chrome、FoxyProxy 访问 http 资源,没有任何问题。代理被定义为socks5标准端口1080

我尝试使用 cURL 访问相同的资源(出于隐私原因,实际 URL 已更改):

$ curl -vvv -socks5 SOCKS_SERVER:1080 -X GET "THE_URL_FROM_BROWSER"

并得到:

* About to connect() to SOCKS_SERVER port 1080 (#0)
*   Trying IP... connected
* Connected to SOCKS_SERVER (IP) port 1080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: SOCKS_SERVER:1080
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host SOCKS_SERVER left intact
* Connection #0 seems to be dead!
* Closing connection #0
* About to connect() to URL_HOST port 80 (#0)
*   Trying SOME_IP...

永远不会有回应。

知道为什么 cURL 无法访问由 FoxyProxy 访问的相同资源吗?

答案1

我得到相同的结果,并查看 strace 输出,它尝试直接连接到 URL_HOST。

但是如果我使用

curl -x socks5://SOCKS_SERVER:1080 "THE_URL_FROM_BROWSER"

它确实按预期工作(使用socks4a或socks5h让代理解析主机名,如果支持的话)

相关内容