我有这个代理地址:125.119.175.48:8909

如何使用cURL(如cURL http://www.example.com)执行HTTP请求,但指定我的网络的代理地址?


当前回答

注意,如果你正在使用SOCKS代理,而不是HTTP/HTTPS代理,你将需要使用——socks5开关:

curl --socks5 125.119.175.48:8909 http://example.com/

还可以使用——socks5-hostname代替——socks5在代理端解析DNS。

其他回答

一般方法:

export http_proxy=http://your.proxy.server:port/

然后,您可以通过代理从(许多)应用程序连接。

而且,正如下面的评论,对于https:

export https_proxy=https://your.proxy.server:port/

总结一下所有提到的答案:

curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>

对于http代理隧道(TLS协议需要),您需要指定-p(即——proxytunnel)而不是-x。

关于代理的Curl帖子

代理隧道使用新的“CONNECT”关键字而不是修改过的“GET”关键字

这是节点http-proxy-中间件库所需要的。

只有当我使用wget时,我才得到一个线索。

我喜欢用这个来获得我被看到的IP

curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo

希望这能帮助到一些人。

作为airween的补充,另一个好主意是将它添加到你的.bashrc中,这样你就可以从非代理环境切换到代理环境:

alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"

WHERE YOURPROXY:YOURPORT就是你的ip和端口代理:-)。

然后,简单地做

proxyon

您的系统将开始使用代理,与之相反:

proxyoff