在 Unix/Linux 系统中自带了系统代理环境变量,通过这些变量的简单设置即可实现代理连接功能,常见的代理环境变量包括:
http_proxy
:用于 HTTP 请求的代理。https_proxy
:用于 HTTPS 请求的代理。ftp_proxy
:用于 FTP 请求的代理。no_proxy
:不通过代理访问的地址列表,通常以逗号分隔。可以使用通配符。all_proxy
:用于所有协议的代理设置,通常用于 SOCKS5 代理。rsync_proxy
:用于rsync
工具的代理设置。
命令示例
- 设置 HTTP 代理:
export http_proxy="http://proxy-server:port"
- 设置 HTTPS 代理:
export https_proxy="http://proxy-server:port"
- 设置不通过代理的地址:
export no_proxy="localhost,127.0.0.1,.example.com"
这些代理变量在大多数遵循标准的网络工具中都有效,包括 curl
、wget
、git
等。
系统可以使用 Socks5 代理。curl
支持 Socks5 代理,可以通过以下方式进行设置。
使用 Socks5 代理的命令
- curl 命令: 使用
-x
选项指定 Socks5 代理,例如:
curl -x socks5://proxy-server:port http://www.example.com
若 Socks5 代理需要身份验证,可以使用 -U
选项提供用户名和密码:
curl -U username:password -x socks5://proxy-server:port http://www.example.com
- 环境变量: 如果希望通过环境变量设置 Socks5 代理,可以使用以下命令:
export all_proxy="socks5://proxy-server:port"
对于需要身份验证的 Socks5 代理:
export all_proxy="socks5://username:password@proxy-server:port"
通过以上方式,可以方便地使用 Socks5 代理。
通过 export
命令设置的代理仅在当前终端会话有效。这意味着:
- 当前会话有效:代理设置只在当前打开的终端窗口或会话中有效。
- 关闭终端后失效:关闭终端或会话时,所有通过
export
设置的环境变量都会消失,打开新的终端窗口时,需要重新设置代理。
要清除临时设置的代理,可以使用 unset
命令。以下是清除 https_proxy
环境变量的步骤:
unset https_proxy
如果还设置了其他代理变量,如 http_proxy
或 all_proxy
,可以一并清除:
unset http_proxy
unset all_proxy
执行这些命令后将停用已设置的代理。