在 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
说明代理已生效 ✅
方法二:系统图形界面查看(最直观)
- Win + R → 输入:
sysdm.cpl - 打开 高级 → 环境变量
- 查看 “用户变量”
你会看到:
变量名
值
HTTP_PROXY
HTTPS_PROXY
方法三:注册表验证(底层确认)
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 EOFcurl 18invalid 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️⃣ 图形界面删除
sysdm.cpl- 高级 → 环境变量
- 在 用户变量 中删除:
- 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 环境变量代理,是开发环境里最通用、最稳定的代理方式之一。
会配、会查、会删,才能用得安心。