从Windows命令提示符中删除代理设置

33

当我在代理网络中时,我曾经在cmd中设置了代理设置,如下所示:

set http_proxy=http://用户名:密码@主机名:端口号

set https_proxy=https://用户名:密码@主机名:端口号

现在,我在普通网络上,想要在命令提示符中取消代理设置。是否有任何直接的命令可以让我直接取消http_proxyhttps_proxy环境变量,而无需通过GUI进行导航来删除它们?


4
如果你按照所示使用 set 命令,那么这些设置将会在你关闭该命令窗口后消失。或者你可以输入 set http_proxy=set https_proxy= 来删除它们。如果你是通过 GUI 设置的这些变量,最简单的方法就是用同样的方式删除它们。 - Harry Johnston
8个回答

61

尝试,

set http_proxy=
set https_proxy=

3
我已经尝试过这个方法并且在当前的cmd会话中运行良好,但是当我再次打开新的cmd时,我的旧代理URL仍然存在,我需要再次使用“set http_proxy=”来清除它。 我在cmd中尝试了这个方法,并在当前会话中成功,但是当我再次打开新的cmd时,旧的代理URL仍然有效,我需要再次使用“set http_proxy=”命令将其清除。 - Arunkumar Arjunan

18
在提升的命令提示符(CMD或PS)中键入以下内容:
netsh winhttp reset proxy
这应该会产生如下输出:
C:\Windows\system32>netsh winhttp reset proxy Current WinHTTP proxy settings: Direct access (no proxy server).
此命令将重置您的代理设置,并且正如输出所示,它们将被设置为“无代理服务器”。
您还可以键入netsh winhttp show proxy以查看当前设置。

当不是所有请求都通过 Fiddler 时,这对我起作用了。不确定被接受的答案在这种情况下是否有效。 - Arundale Ramanathan
我不确定我的评论,但是在对此进行任何更改后,你可能需要重新启动系统(我在应用这些更改并解决我的VS22代理问题后这样做了)。 - carloswm85
根据答案中所指示的,这将立即更改您系统的代理设置。如果您遇到应用程序问题,可能需要重新启动应用程序以处理系统环境的更改。 - G_Style

2
npm config delete proxy http

npm config delete proxy https

4
虽然这段代码片段可能解决了问题,但是包括解释会真正有助于提高您的帖子质量。请记住,您正在回答未来读者的问题,而这些人可能不知道您的代码建议原因。同时,请尽量避免在代码中添加过多的注释说明,这会降低代码和解释的可读性! - Filnor

1

以管理员权限运行CMD或Powershell
然后运行命令netsh winhttp reset proxy

P.S: 当您尝试使用set http_proxy=http://username:pass@hostname:port设置代理时,退出命令提示符时,代理可能会自动重置。


一个提升的命令提示符正在以管理员身份运行一个 shell。 - G_Style
你能否解释一下,你想要表达什么? - Tushar
你说的和我之前回答的一样。我想也许你不熟悉“提升的提示符”这个术语,这就是以管理员身份运行命令提示符的意思。 - G_Style

0
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v proxyEnable /t REG_DWORD /d 1 /f

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d ip_address:port /f

试试这个


0

删除未来 cmd 实例的变量:

    setx http_proxy ""
    setx https_proxy ""

0
尝试以下步骤:
  1. 以管理员身份打开CMD提示符
  2. 执行netsh winhttp reset proxy
  3. 执行netsh winhttp show proxy - 你应该能看到当前代理服务器设置为 直接访问(没有代理服务器)。
  4. 重新启动计算机 - 在运行上述命令后,我没有重新启动电脑,但当我执行echo %HTTP_PROXY%时仍然遇到代理问题,重新启动可以永久清除代理。
  5. 执行echo %HTTP_PROXY% - 应该返回空。
如果有效,请告诉我,谢谢!

0

我已经阅读了urllib.request.proxyhandler。

最简单的方法(已由我测试并获得认可)是添加一个no_proxy,例如:

SET no_proxy=abc.com,john.com:8080

这不是移除http_proxy,而是排除某些目的地使用代理。 - CraftyFox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接