很多程序会自动识别HTTP_PROXY , HTTPS_PROXY 环境变量,然后决定是否走代理,那么,这两个变量是什么意思呢?
如:
1 |
HTTP_PROXY=http://proxy.phpor.net:8888 |
1 |
HTTPS_PROXY=http://proxy.phpor.net:8888 |
前者说明: 如果访问的地址是http的(不是https的),则使用代理:http://proxy.phpor.net:8888
后者说明:如果访问的地址是https的(不是http的),则使用代理:http://proxy.phpor.net:8888
这里根本不要求HTTPS_PROXY 的代理url一定是https的 ,也不要求HTTP_PROXY的代理url一定是http的。
但是,需要注意的是,似乎curl并不支持一个类似于https://proxy.phpor.net:8888 的https的地址,即使写作https,curl依然使用http明文的方式向代理发起请求。
有些程序如(curl)不识别HTTP_PROXY ,只能用http_proxy; 但是HTTPS_PROXY ,却可以使用大写的(小写的优先)。参考: man curl
wget 总是只识别小写的: http_proxy, https_proxy