我在配置代理服务器连接时遇到问题。
使用 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
(但具有实际值:))可能是什么问题?
我现在的解决方法是使用 GUI 设置,但只是好奇为什么它不能使用 netsh 命令工作。我想知道 netsh winhttp 文档页面中是否遗漏了一些内容。
“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