LINUX设置命令行代理的问题
总结,设置代理要用小写字母:
export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809
测试过程非常曲折。先说明我这个代理是全局代理。
1,首先我都是用大写来设置的:
export HTTP_PROXY=http://127.0.0.1:10809
export HTTPS_PROXY=http://127.0.0.1:10809
结果curl http://cip.cc 返回真实IP
结果curl https://cip.cc 返回代理IP
2,这次尝试curl -x http://127.0.0.1:10809 http://cip.cc
这次返回的是代理IP
说明本地搭的代理是没问题的。
设置的代理变量HTTP_PROXY失效了。
3, 重新用小写设置一次,
export http_proxy=http://127.0.0.1:10809
这次curl http://cip.cc
终于返回了代理的IP。
但是此时环境变量里面有3个代理设置:
HTTPS_PROXY=http://127.0.0.1:10809
HTTP_PROXY=http://127.0.0.1:10809
http_proxy=http://127.0.0.1:10809
也就是说此时:
HTTPS_PROXY是生效的。
HTTP_PROXY是不生效的。
http_proxy是生效的。
后来经过测试:
https_proxy也是可以生效的。
所以,为了统一,还是都用小写的吧。于是有了开头结论:
export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809
后记:
测试WINDOWS,正好相反。WINDOWS只认大写,不认小写。WINDOWS命令:
set HTTPS_PROXY=http://127.0.0.1:10809
set HTTP_PROXY=http://127.0.0.1:10809
上述测试环境:
Ubuntu 22.04.1 LTS
Debian 10
Windows 11 专业版