netsh winhttp 设置代理与使用 GUI Windows 代理设置

问题描述 投票:0回答:1

我在配置代理服务器连接时遇到问题。

使用 VirtualBox 在我的虚拟机上安装了 Squid 代理 (http://www.squid-cache.org/)。 虚拟机 - Ubuntu 22.04 LTS
网络适配器 - 桥接适配器

在我的本地计算机(Windows 11 Pro 版本 10.0.22621 Build 22621)上出于测试目的,我创建了一条防火墙规则来限制对 XYZ 页面的访问。 启用规则后,将无法从我的计算机访问该页面。

第一个场景(成功的) 我使用 Windows GUI 连接到在 VM 上创建的代理服务器。 设置 > 网络和 Internet > 手动代理设置 > 使用代理服务器
我提供了我的 VM 机器的 IP 地址和默认的 Squid 端口 (3128)。 连接到代理服务器后,我会检查从现在开始是否能够连接到 XYZ 页面。 最终还是成功了。 Squid 日志显示请求通过了服务器。 一切正常。

第二种情况(不成功的情况) 本地计算机未连接到代理服务器。 我尝试连接,但这次我使用的是 netsh.exe

netsh winhttp set proxy serveraddress:port
(但具有实际值:))
我检查从现在开始是否能够连接到 XYZ 页面。 页面 XYZ 仍被阻止。 检查代理日志。没有请求通过该服务器。

可能是什么问题?

我现在的解决方法是使用 GUI 设置,但只是好奇为什么它不能使用 netsh 命令工作。我想知道 netsh winhttp 文档页面中是否遗漏了一些内容。

windows proxy settings squid netsh
1个回答
0
投票

“netsh winhttp set proxy”命令大部分已被弃用。

如果您需要使用命令行设置代理,则应使用“netsh winhttp set advproxy”来完成

set advproxy setting-scope=machine settings={<settings>}

set advproxy setting-scope=machine settings={\"Proxy\":\"contoso-proxy.com:3128\",\"ProxyBypass\":\"\",\"AutoconfigUrl\":\"\",\"AutoDetect\":true}

或使用 JSON 设置文件

set advproxy setting-scope=user settings-file=settings.json

settings.json 包含信息的位置

  {
  "ProxyIsEnabled": true,
  "Proxy": "http=http-proxy.com:8080;https=https-proxy.com:8081;ftp=ftp-proxy.com:8082;socks=socks-proxy.com:8083",
  "AutoConfigIsEnabled": false,
  "AutoDetect": true,
  "PerUserProxySettings": true
  }

您可以在 Microsoft Netsh 站点上查看有关此内容的更多信息。 https://learn.microsoft.com/windows/win32/winhttp/netsh-exe-commands

© www.soinside.com 2019 - 2024. All rights reserved.