Windows CMD 代理设置与清除教程
在 Windows 下,我们常常需要在 命令行(CMD)中通过代理访问网络,例如使用 curl
、git
、npm
等工具。本文将详细介绍 如何在 CMD 中设置 HTTP/HTTPS 代理,以及 如何清除代理。
1. CMD 环境变量代理简介
CMD 环境变量代理是指通过设置环境变量 http_proxy
和 https_proxy
,让支持 HTTP/HTTPS 协议的命令行工具自动使用代理服务器进行网络请求:
http_proxy
:HTTP 请求使用的代理地址https_proxy
:HTTPS 请求使用的代理地址
注意:CMD 原生命令(如
ping
、telnet
)不会使用 HTTP/HTTPS 代理,如果需要让它们走代理,需要使用全局代理软件或 WinHTTP 设置。
2. 设置代理
2.1 临时设置代理(仅当前 CMD 会话有效)
在 CMD 中执行:
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
127.0.0.1
为代理服务器地址7890
为代理端口
设置完成后,当前 CMD 会话下支持 HTTP/HTTPS 的工具将自动使用该代理访问网络。
示例:
curl https://www.google.com
如果代理配置正确,请求会通过代理服务器发送。
2.2 永久设置代理(对所有 CMD 会话生效)
如果希望每次打开 CMD 都自动使用代理,可以使用 setx
命令:
setx http_proxy "http://127.0.0.1:7890"
setx https_proxy "http://127.0.0.1:7890"
- 执行后,需要 重新打开 CMD 才能生效
- 所有新开的 CMD 会话都会自动使用该代理
3. 清除代理
有时需要取消代理,让命令行工具直接访问网络。
3.1 临时清除代理(仅当前 CMD 会话生效)
set http_proxy=
set https_proxy=
- 清除后,当前 CMD 会话下的 HTTP/HTTPS 命令将不再使用代理
- 关闭 CMD 会话后,环境变量会自动失效
检查是否清除成功:
echo %http_proxy%
echo %https_proxy%
如果返回为空,说明代理已经被清除。
3.2 永久清除代理(对所有 CMD 会话生效)
如果之前使用 setx
命令设置了永久代理,需要这样清除:
setx http_proxy ""
setx https_proxy ""
- 清除后,需要 重新打开 CMD 才能生效
- 所有新开的 CMD 会话将不再使用代理
4. 注意事项
-
临时清除只影响当前 CMD 会话,不影响其他窗口或程序
-
永久清除需要重新打开 CMD 才能生效
-
Windows 原生命令(如
ping
、telnet
)不会使用 HTTP/HTTPS 代理 -
对于 HTTPS 请求,请务必设置
https_proxy
-
如果代理需要用户名密码,可以使用格式:
http://username:password@IP:端口
5. 总结
通过以上方法,你可以灵活地管理 CMD 中的代理设置,确保命令行工具能够正确访问网络。