我有这个代理地址:125.119.175.48:8909
如何使用cURL(如cURL http://www.example.com)执行HTTP请求,但指定我的网络的代理地址?
我有这个代理地址:125.119.175.48:8909
如何使用cURL(如cURL http://www.example.com)执行HTTP请求,但指定我的网络的代理地址?
当前回答
对于http代理隧道(TLS协议需要),您需要指定-p(即——proxytunnel)而不是-x。
关于代理的Curl帖子
代理隧道使用新的“CONNECT”关键字而不是修改过的“GET”关键字
这是节点http-proxy-中间件库所需要的。
只有当我使用wget时,我才得到一个线索。
其他回答
一般方法:
export http_proxy=http://your.proxy.server:port/
然后,您可以通过代理从(许多)应用程序连接。
而且,正如下面的评论,对于https:
export https_proxy=https://your.proxy.server:port/
curl -I "https://www.google.com" -x 1.1.1.1:8080
作为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
来自man curl:
-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
如果您只是为一次性命令设置代理,则不需要导出http[s]_proxy shell变量。如。
http_proxy=http://your.proxy.server:port curl http://www.example.com
也就是说,如果我知道我总是要使用代理,我更喜欢curl -x。