Terminal Proxy(MacOS中经典坑点:系统代理设置 ≠ 终端代理环境变量)

Terminal Proxy(MacOS中经典坑点:系统代理设置 ≠ 终端代理环境变量)
MacOS中经典坑点:系统代理设置 ≠ 终端代理环境变量

你有没有遇到过这个坑点,即使你配置了系统代理,但命令行工具只认 http_proxy / https_proxy 环境变量。

原因解释:macOS 的代理架构分层:

Terminal Proxy(MacOS中经典坑点:系统代理设置 ≠ 终端代理环境变量)

  • 系统代理:影响 Safari、Chrome(默认模式)等 GUI 应用
  • 终端代理:需要显式设置环境变量

解决方案

  1. 在 ~/.zshrc 中添加函数,按需开关
# 开启代理proxy_on() {    export http_proxy=http://127.0.0.1:7890    export https_proxy=http://127.0.0.1:7890    export all_proxy=socks5://127.0.0.1:7890    echo "代理已开启"}# 关闭代理proxy_off() {    unset http_proxy    unset https_proxy    unset all_proxy    echo "代理已关闭"}# 查看当前代理状态proxy_status() {    env | grep -i proxy}
  1. 运行 source ~/.zshrc,然后终端输入 proxy_on 即可。

  • 测试,运行指令
curl -s ip.sb# 应该显示代理服务器的IP地址

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有