我有这个代理地址:125.119.175.48:8909
如何使用curl http://www.example.com
等cURL执行HTTP请求,但是指定网络的代理地址?
答案 0 :(得分:569)
来自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.
答案 1 :(得分:377)
一般方式:
export http_proxy=http://your.proxy.server:port/
然后,您可以通过(许多)应用程序中的代理连接。
并且,根据以下评论,对于https:
export https_proxy=https://your.proxy.server:port/
答案 2 :(得分:110)
上面的解决方案可能不适用于我自己尝试过的一些curl版本(curl 7.22.0)。但对我有用的是:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
希望它能更好地解决问题!
答案 3 :(得分:71)
请注意,如果您使用的是SOCKS代理,而不是HTTP / HTTPS代理,则需要使用--socks5
开关:
curl --socks5 125.119.175.48:8909 http://example.com/
您还可以使用--socks5-hostname
代替--socks5
来解析代理端的DNS。
答案 4 :(得分:47)
作为对airween的加入,另一个好主意是将此添加到.bashrc中,这样您就可以从非代理环境切换到代理环境:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
你在哪里:YOURPORT正好是你的ip和端口代理: - )。
然后,只需做
proxyon
您的系统将开始使用代理,而与之相反:
proxyoff
答案 5 :(得分:32)
使用以下
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
将你的代理服务器ip和port。
-v
详细模式它会提供更多详细信息,包括标题和响应。
答案 6 :(得分:29)
你可以使用:
curl http://www.example.com --proxy http://125.119.175.48:8909
由Karl解释
答案 7 :(得分:23)
我喜欢用它来获取我所看到的IP
curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
希望这有助于某人。
答案 8 :(得分:16)
对于curl
,您可以通过添加~/.curlrc
值在_curlrc
(Windows上为proxy
)文件中配置代理,语法为:
proxy = http://username:password@proxy-host:port
答案 9 :(得分:12)
总结所有提到的答案:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
答案 10 :(得分:7)
使用带有身份验证的代理我使用:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
因为,我不知道curl为什么不使用/ catch http [s] _proxy 环境变量。
答案 11 :(得分:3)
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
答案 12 :(得分:2)
如果您只为一次性命令设置代理,则不需要导出ShaderEffectSource
shell变量。 e.g。
http[s]_proxy
那就是说,如果我知道我总是要使用代理,我更喜欢http_proxy=http://your.proxy.server:port curl http://www.example.com
。
答案 13 :(得分:2)
根据您的工作场所,您可能还需要为curl指定d.index.freq
或-k
选项,以便解决CA证书的潜在问题。
--insecure
答案 14 :(得分:0)
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
这对我来说效果很好,出现错误是因为需要设置curl 代理
请记住,请将代理替换为您的代理,我的“ example”为 http://10.1.1.50:8080/。
答案 15 :(得分:0)
curl -vv -k https://example.com -x http://<proxy>:<port>
答案 16 :(得分:-1)
如果代理使用PAC文件的自动代理。我们可以从PAC URL的javascript中找到实际的代理。
如果代理需要身份验证,我们可以先使用普通的Web浏览器访问网站,这将促进身份验证对话框。验证后,我们可以使用wireshark捕获发送到代理服务器的http包,从http包中,我们可以从http头获取auth令牌:代理授权
然后我们可以设置http_proxy环境变量,并在http标头中包含auth令牌:代理授权
导出http_proxy = http://proxyserver:port
curl -H“代理授权:xxxx”http://targetURL