原创

Windows 代理配置与删除完整指南(环境变量方式)

在 Windows 开发环境中,很多工具(如 Git、Scoop、npm、pip、curl、Docker CLI 等)都会自动读取系统环境变量中的代理配置。
相比只在浏览器里设置代理,环境变量代理是一种更通用、更稳定的方式。

本文将系统介绍:

  • ✅ 如何在 Windows 中设置 HTTP / HTTPS 代理
  • ✅ 如何验证代理是否生效
  • ✅ 如何删除 / 取消代理
  • ⚠️ 常见坑与注意事项

一、什么是 Windows 环境变量代理?

Windows 支持通过环境变量向程序传递代理信息,最常见的是:

HTTP_PROXY
HTTPS_PROXY

当这些变量存在时,大多数命令行工具会自动使用代理访问网络。

📌 这是一种 系统级 / 用户级配置,不是浏览器专用。


二、通过 PowerShell 设置代理(推荐)

1️⃣ 设置用户级代理(最常用)

[Environment]::SetEnvironmentVariable(
  "HTTP_PROXY",
  "http://127.0.0.1:1080",
  "User"
)

[Environment]::SetEnvironmentVariable(
  "HTTPS_PROXY",
  "http://127.0.0.1:1080",
  "User"
)

说明:

  • 127.0.0.1:1080:本地代理地址(如 Clash / V2Ray / Shadowsocks)
  • "User":只对当前用户生效(推荐)
  • 不需要管理员权限

⚠️ 注意
设置完成后,必须重新打开 PowerShell / CMD 才会生效。


2️⃣ 系统级代理(不推荐,需管理员)

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:1080", "Machine")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:1080", "Machine")

适合服务器或多人共用机器,一般个人开发环境不建议。


三、如何查看代理是否已配置

方法一:PowerShell 查看(最快)

新开一个 PowerShell 窗口,执行:

$env:HTTP_PROXY
$env:HTTPS_PROXY

如果输出:

http://127.0.0.1:1080

说明代理已生效 ✅


方法二:系统图形界面查看(最直观)

  1. Win + R → 输入:sysdm.cpl
  2. 打开 高级环境变量
  3. 查看 “用户变量”

你会看到:

变量名
HTTP_PROXYhttp://127.0.0.1:1080
HTTPS_PROXYhttp://127.0.0.1:1080

方法三:注册表验证(底层确认)

reg query HKCU\Environment

如果存在:

HTTP_PROXY    REG_SZ    http://127.0.0.1:1080
HTTPS_PROXY   REG_SZ    http://127.0.0.1:1080

说明已持久化写入系统


四、验证代理是否真的在“工作”

1️⃣ 验证 Git 是否走代理

git ls-remote https://github.com/ScoopInstaller/Extras.git

如果不再出现:

  • early EOF
  • curl 18
  • invalid index-pack output

说明代理生效 👍


2️⃣ 验证 curl

curl https://github.com

五、如何删除 / 取消代理(非常重要)

1️⃣ 用 PowerShell 删除(推荐)

[Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "User")

然后:

  • 关闭 PowerShell
  • 重新打开

2️⃣ 图形界面删除

  1. sysdm.cpl
  2. 高级 → 环境变量
  3. 用户变量 中删除:
    • HTTP_PROXY
    • HTTPS_PROXY

3️⃣ 验证是否已删除

$env:HTTP_PROXY
$env:HTTPS_PROXY

如果无输出,说明已清除。


六、常见坑与注意事项(很重要)

⚠️ 1. 当前窗口看不到新变量

SetEnvironmentVariable 不会影响当前 PowerShell 会话

必须:

  • 新开窗口
  • 或重新登录用户

⚠️ 2. Conda / Anaconda 干扰

(base) 环境中,Conda 可能会:

  • 覆盖代理变量
  • 使用自己的 OpenSSL / curl

👉 如果代理不生效,建议:

conda deactivate

再测试。


⚠️ 3. 不等于 Windows「系统代理」

环境变量代理 ≠ Windows 设置里的:

设置 → 网络 → 代理

两者互不影响


⚠️ 4. 不要长期忘记开代理

长期保留代理可能导致:

  • 内网地址访问失败
  • 公司 VPN 冲突
  • 本地服务异常

👉 不用时记得删除。


七、适合哪些场景使用?

✅ 适合:

  • GitHub 访问不稳定
  • Scoop / npm / pip 下载失败
  • 命令行工具走代理

❌ 不适合:

  • 只想给浏览器加速
  • 不希望命令行走代理

八、总结一句话

Windows 环境变量代理,是开发环境里最通用、最稳定的代理方式之一。
会配、会查、会删,才能用得安心。

正文到此结束
Loading...