要在 Linux 终端设置临时代理,可以使用以下方法,它们都是设置环境变量的方式,设置后仅对当前终端会话有效。
1. 使用 export
命令 (适用于大部分情况):
HTTP 代理:
export http_proxy="http://your_proxy_address:your_proxy_port"
export HTTP_PROXY="http://your_proxy_address:your_proxy_port"
HTTPS 代理:
export https_proxy="http://your_proxy_address:your_proxy_port"
export HTTPS_PROXY="http://your_proxy_address:your_proxy_port"
SOCKS 代理:
export socks_proxy="socks5://your_proxy_address:your_proxy_port" # 或者 socks4
export SOCKS_PROXY="socks5://your_proxy_address:your_proxy_port" # 或者 socks4
同时设置 HTTP 和 HTTPS 代理 (通常推荐):
export http_proxy="http://your_proxy_address:your_proxy_port"
export https_proxy="http://your_proxy_address:your_proxy_port"
export HTTP_PROXY="http://your_proxy_address:your_proxy_port"
export HTTPS_PROXY="http://your_proxy_address:your_proxy_port"
包含用户名和密码的代理 (如果需要):
export http_proxy="http://username:password@your_proxy_address:your_proxy_port"
export https_proxy="http://username:password@your_proxy_address:your_proxy_port"
export HTTP_PROXY="http://username:password@your_proxy_address:your_proxy_port"
export HTTPS_PROXY="http://username:password@your_proxy_address:your_proxy_port"
不使用代理的域名或 IP 地址列表 (NO_PROXY):
export no_proxy="localhost,127.0.0.1,your_internal_domain.com"
export NO_PROXY="localhost,127.0.0.1,your_internal_domain.com"
多个地址用逗号分隔。
2. 对于某些命令,可能需要使用 --proxy
或类似选项:
例如, wget --proxy=on -e 'http_proxy=http://your_proxy_address:your_proxy_port' http://www.example.com
curl -x http://your_proxy_address:your_proxy_port http://www.example.com
3. 验证代理是否生效:
4. 取消代理:
重要注意事项:
- 替换占位符: 将
your_proxy_address
和 your_proxy_port
替换为你的实际代理服务器地址和端口。
- 大小写: 环境变量名称区分大小写,但通常建议同时设置大小写两种形式 (
http_proxy
和 HTTP_PROXY
) 以确保兼容性。
- 安全性: 如果代理需要用户名和密码,请谨慎处理,避免泄露。 尽量不要将密码直接写在脚本中。
- 终端会话: 这些设置仅在当前终端会话有效。关闭终端后,代理设置将失效。
- SOCKS 版本: 确认你的 SOCKS 代理是 SOCKS4 还是 SOCKS5,并在
socks_proxy
环境变量中指定正确的协议。
NO_PROXY
: NO_PROXY
环境变量用于指定不需要通过代理连接的域名或 IP 地址。 这对于访问本地网络资源非常有用。
- 不同应用: 有些应用可能不使用标准的
http_proxy
环境变量。 你可能需要查阅特定应用的文档,了解如何配置代理。 例如, git
有自己的代理配置。
示例:
假设你的代理服务器地址是 192.168.1.100
,端口是 8080
,你可以这样设置代理:
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
然后,你可以使用 curl
或 wget
来测试代理是否生效。
curl http://www.example.com