我有这个代理地址:125.119.175.48:8909
如何使用cURL(如cURL http://www.example.com)执行HTTP请求,但指定我的网络的代理地址?
我有这个代理地址:125.119.175.48:8909
如何使用cURL(如cURL http://www.example.com)执行HTTP请求,但指定我的网络的代理地址?
当前回答
旋度vv -ksL“https://example.com”- x " http:// <代理>:< >港”
其他回答
注意,如果你正在使用SOCKS代理,而不是HTTP/HTTPS代理,你将需要使用——socks5开关:
curl --socks5 125.119.175.48:8909 http://example.com/
还可以使用——socks5-hostname代替——socks5在代理端解析DNS。
来自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.
curl -x socks5://username:password@ip:port example.com
根据您的工作场所,您可能还需要为curl指定-k或——insecure选项,以解决CA证书的潜在问题。
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
如果代理正在使用自动代理与PAC文件。我们可以从javascript和PAC URL中找到实际的代理。
如果代理需要认证,我们可以先使用普通的web浏览器访问网站,会弹出认证对话框。认证完成后,我们可以使用wireshark捕获发送到代理服务器的http包,从http包中,我们可以从http头:proxy - authorization中获取认证令牌
然后我们可以设置http_proxy环境变量,并在http报头中包括认证令牌:Proxy-Authorization
出口http_proxy = http://proxyserver:端口
curl -H "Proxy-Authorization: xxxx" http://targetURL