Windows CMD 代理设置与清除教程

发表于 2025-08-15 18:23:22 分类于 默认分类 阅读量 48

Windows CMD 代理设置与清除教程

在 Windows 下,我们常常需要在 命令行(CMD)中通过代理访问网络,例如使用 curlgitnpm 等工具。本文将详细介绍 如何在 CMD 中设置 HTTP/HTTPS 代理,以及 如何清除代理


1. CMD 环境变量代理简介

CMD 环境变量代理是指通过设置环境变量 http_proxyhttps_proxy,让支持 HTTP/HTTPS 协议的命令行工具自动使用代理服务器进行网络请求:

  • http_proxy:HTTP 请求使用的代理地址
  • https_proxy:HTTPS 请求使用的代理地址

注意:CMD 原生命令(如 pingtelnet)不会使用 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. 注意事项

  1. 临时清除只影响当前 CMD 会话,不影响其他窗口或程序

  2. 永久清除需要重新打开 CMD 才能生效

  3. Windows 原生命令(如 pingtelnet)不会使用 HTTP/HTTPS 代理

  4. 对于 HTTPS 请求,请务必设置 https_proxy

  5. 如果代理需要用户名密码,可以使用格式:

    http://username:password@IP:端口
    

5. 总结

通过以上方法,你可以灵活地管理 CMD 中的代理设置,确保命令行工具能够正确访问网络。

码字奇遇记
一路向前,山海自平