我能够获得在Windows计算机上手动输入到代理设置中的代理数据(选中了//comprehensive process function
function processthings (lists,cfunctions){
var flag = false;
for (var i=0; i< lists.length; i++){
if (cfunctions(lists[i])){
flag = true;
break;
};
};
return flag;
};
选项),但我想知道User a proxy server for your LAN
是否还会设置字段{{1} },如果在此对话框中选中了WinHttpGetIEProxyConfigForCurrentUser
或LPWSTR lpszProxy
复选框:
如果没有,如何获取当前使用的代理地址?
答案 0 :(得分:1)
您将在lpszAutoConfigUrl
中得到它。
lpszAutoConfigUrl
是结构WINHTTP_CURRENT_USER_IE_PROXY_CONFIG
的变量,该结构是WinHttpGetIEProxyConfigForCurrentUser
的参数
文档链接。
用于快速测试的代码:
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG pProxyConfig;
pProxyConfig.fAutoDetect = TRUE;
WinHttpGetIEProxyConfigForCurrentUser(&pProxyConfig);
答案 1 :(得分:0)
WinHttpGetIEProxyConfigForCurrentUser()可用于确定是否同时存在:
但是,要获取特定端点的代理地址本身,应使用 WinHttpGetProxyForUrl()。 如果您已经从IE Internet选项中读取了“自动配置脚本”,则可以这样使用它:
WINHTTP_AUTOPROXY_OPTIONS autoProxyOptions= {0};
WINHTTP_PROXY_INFO proxyInfo= {0};
PCWSTR endpointUrl = <URL, that you need proxy for>;
autoProxyOptions.lpszAutoConfigUrl = <auto config address obtain from WINHTTP_CURRENT_USER_IE_PROXY_CONFIG>;
.
. //set suitable autoProxyOptions flags
.
if (!WinHttpGetProxyForUrl(hSession, endpointUrl, &autoProxyOptions, &proxyInfo))
{
GetLastError();
}