WinHttpGetDefaultProxyConfiguration 返回错误的代理信息

WinHttpGetDefaultProxyConfiguration returns wrong Proxy Info

本文关键字:代理 信息 错误 返回 WinHttpGetDefaultProxyConfiguration      更新时间:2023-10-16

我想检索默认代理设置。为此,我使用下一个代码:

WINHTTP_PROXY_INFO ProxyInfo;
ZeroMemory( &ProxyInfo, sizeof(ProxyInfo) );
BOOL result = WinHttpGetDefaultProxyConfiguration(&ProxyInfo);
if (result)
{
    //...
}

该函数返回 TRUE,但在 ProxyInfo 中,无论我通过 ProxyCfg.exe->Connections->LAN Settings->代理服务器输入什么设置,我都有:WINHTTP_ACCESS_TYPE_NO_PROXYlpszProxy == NULL。你知道我在这里做错了什么吗?

我在 Win7 64 位机器上测试了这段代码,但我需要它才能在所有 WinXP+ 版本中工作。

我检查了libproxy项目,并从注册表中检索了代理设置。这种方法可靠吗?所有 Windows 版本中代理配置的注册表路径是否相同?

我已经尝试了Chrome中使用的方法,它工作正常。此外,它还应该在多个Windows版本中进行测试。

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ProxyInfo;
BOOL result = WinHttpGetIEProxyConfigForCurrentUser(&ProxyInfo);