如何使用curl传递空白代理用户名/密码?

时间:2016-09-16 15:35:41

标签: bash curl proxy passwords tor

我在Mac El Capitan上使用bash shell。如何使用curl为代理服务器传递空白用户名/密码?我试过这个

localhost:tmp davea$ curl http://www.google.com --proxy localhost:9050 --proxy-user "":""
514 Authentication required.

我正在使用此命令在我的机器上运行tor守护程序

tor --CookieAuthentication 0 --HashedControlPassword "" --ControlPort 9050 --SocksPort 50001

我可以通过Telnet连接而无需输入密码

localhost:tmp davea$ telnet localhost 9050
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
AUTHENTICATE
250 OK

所以我知道我的密码至少是正确的。

1 个答案:

答案 0 :(得分:0)

请注意,从命令行使用curl时,--proxy选项专门用于与Tor不同的HTTP代理,它是SOCKS代理。

要解决此问题,请使用Nehal在评论中建议使用SOCKS代理(您可能希望使用--socks5-hostname代替,因此DNS解析也会在Tor上执行,否则您在本地泄漏DNS请求。

所以你的电话会是这样的:

curl http://www.google.com -L --socks5-hostname localhost:50001

附注:控制端口(9050)仅用于向控制器传送命令。此端口根本不用于代理请求。