alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
-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.
14 回答
对于
curl
,您可以通过添加proxy
值在~/.curlrc
文件中配置代理,语法为:只是总结所有提到的答案:
使用带有身份验证的代理我使用:
因为,我没有't know why curl doesn' t使用/ catch http[s]_proxy 环境变量 .
如果您只是为一个关闭命令设置代理,则无需导出
http[s]_proxy
shell变量 . 例如也就是说,如果我知道我总是要使用代理,我更喜欢
curl -x
.根据您的工作场所,您可能还需要为curl指定
-k
或--insecure
选项,以便解决CA证书的潜在问题 .作为对airween的加入,另一个好主意是将它添加到.bashrc中,这样您就可以从非代理环境切换到代理环境:
你在哪里:YOURPORT就是这样,你的ip和端口代理:-) .
然后,干脆做
你的系统将开始使用代理,而正好相反:
您可以使用 :
正如卡尔所解释的那样
使用以下内容
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
把您的代理服务器ip和端口 .-v
详细模式它将提供更多详细信息,包括 Headers 和响应 .我喜欢用这个来获得我所看到的知识产权
希望这有助于某人 .
一般方式:
然后,您可以通过代理从(许多)应用程序连接 .
并且,根据下面的评论,对于https:
来自
man curl
:上面的解决方案可能不适用于我自己尝试过的一些curl版本(curl 7.22.0) . 但对我有用的是:
希望它能更好地解决问题!
请注意,如果您使用的是SOCKS代理,而不是HTTP / HTTPS代理,则需要使用
--socks5
开关:如果代理使用PAC文件的自动代理 . 我们可以从PAC URL的javascript中找到实际的代理 .
如果代理需要身份验证,我们可以先使用普通的Web浏览器访问网站,这将促进身份验证对话 . 验证后,我们可以使用wireshark捕获发送到代理服务器的http包,从http包中,我们可以从http头获取auth令牌: Proxy-Authorization
然后我们可以设置http_proxy环境变量,并在http头中包含auth令牌: Proxy-Authorization
export http_proxy = http://proxyserver:port
卷曲-H "Proxy-Authorization: xxxx" http://targetURL