如果你想在 CMD(命令提示符) 中设置代理,使其对 所有通过 CMD 执行的网络请求(如 curl、ping、git、wget 等)生效,而不是仅针对 Java 程序,可以使用以下方法:
方法 1:临时设置 CMD 代理(仅当前窗口有效)
直接在 CMD 中运行:
cmd
set http_proxy=http://127.0.0.1:7897
set https_proxy=http://127.0.0.1:7897set http_proxy=http://127.0.0.1:7897
set https_proxy=http://127.0.0.1:7897适用场景:
- 临时让
curl、git clone、pip install等命令走代理。 - 关闭 CMD 后失效。
验证是否生效:
cmd
curl -v http://www.google.com # 测试代理是否生效curl -v http://www.google.com # 测试代理是否生效或
cmd
ping www.google.com # 检查是否能解析(代理不影响 ICMP,但能测 DNS)ping www.google.com # 检查是否能解析(代理不影响 ICMP,但能测 DNS)方法 2:永久设置 CMD 代理(需修改环境变量)
如果想 永久生效(对所有 CMD/PowerShell 窗口):
- 打开系统环境变量设置:
Win + R→ 输入sysdm.cpl→ 高级 → 环境变量。
- 新建用户变量(仅当前用户生效)或 系统变量(所有用户生效):
- 变量名:
http_proxy - 变量值:
http://127.0.0.1:7897 - 变量名:
https_proxy - 变量值:
http://127.0.0.1:7897
- 变量名:
- 重启 CMD 生效。
验证:
cmd
echo %http_proxy% # 检查变量是否生效echo %http_proxy% # 检查变量是否生效方法 3:使用 netsh 设置全局 WinHTTP 代理(影响所有程序)
如果想让 整个 Windows 系统(包括 CMD、浏览器等)走代理:
cmd
netsh winhttp set proxy 127.0.0.1:7897netsh winhttp set proxy 127.0.0.1:7897取消代理:
cmd
netsh winhttp reset proxynetsh winhttp reset proxy⚠️ 注意:这会修改系统级代理设置,可能影响浏览器和其他应用。
方法 4:针对特定工具单独设置代理
1. Git 代理
cmd
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897取消 Git 代理:
cmd
git config --global --unset http.proxy
git config --global --unset https.proxygit config --global --unset http.proxy
git config --global --unset https.proxy2. Pip(Python 包管理)代理
cmd
pip install --proxy=http://127.0.0.1:7897 package_namepip install --proxy=http://127.0.0.1:7897 package_name或永久设置:
cmd
set pip_proxy=http://127.0.0.1:7897set pip_proxy=http://127.0.0.1:78973. Curl 代理
cmd
curl -x http://127.0.0.1:7897 https://www.google.comcurl -x http://127.0.0.1:7897 https://www.google.com常见问题
Q1:代理设置后仍然无法访问?
- 检查代理软件(如 Clash/V2Ray)是否正常运行。
- 确认代理端口是否正确(Clash 默认
7890,Charles 默认8888)。 - 关闭防火墙或杀毒软件临时测试。
Q2:如何查看当前 CMD 代理?
cmd
set http_proxy
set https_proxyset http_proxy
set https_proxy或
cmd
netsh winhttp show proxynetsh winhttp show proxyQ3:如何让 CMD 不走代理?
cmd
set http_proxy=
set https_proxy=set http_proxy=
set https_proxy=或关闭代理软件。
总结
| 方法 | 作用范围 | 持久性 |
|---|---|---|
set http_proxy | 当前 CMD 窗口 | 临时 |
| 环境变量 | 所有 CMD 窗口 | 永久 |
netsh winhttp | 整个 Windows 系统 | 永久 |
| 工具单独设置 | 仅特定工具(Git/Pip) | 按需配置 |
如果你的代理是 Clash/V2Ray(默认 7890)或 Charles(默认 8888),请替换端口号。如果仍有问题,可以告诉我你的具体使用场景(如需要代理 ping 或 ssh),我会提供更精准的方案! 🚀
FCAT