我想从IE7中检索代理用户名和密码 这是我的代码
CString UserName;
LPINTERNET_PROXY_INFO ProxyInfo;
DWORD dwSize;
InternetQueryOption(NULL,INTERNET_OPTION_PROXY,NULL,&dwSize);
if (dwSize > 0)
{
BYTE * lpszData = new BYTE [dwSize];
InternetQueryOption (NULL, INTERNET_OPTION_PROXY, lpszData, & dwSize);
ProxyInfo= (LPINTERNET_PROXY_INFO) lpszData;
InternetQueryOption (NULL, INTERNET_OPTION_PROXY_USERNAME, NULL, &dwSize);
if (dwSize> 0)
{
lpszData = new BYTE [dwSize];
InternetQueryOption (NULL, INTERNET_OPTION_PROXY_USERNAME, lpszData, &dwSize);
UserName = lpszData;
delete [] lpszData;
}
}
使用INTERNET_OPTION_PROXY的InternetQueryOption工作正常。但是当我使用它与INTERNET_OPTION_PROXY_USERNAME或INTERNET_OPTION_PROXY_PASSWORD时,它失败,dwSize等于0. GetLastError函数返回错误代码12018。 知道这些功能失败的原因吗?
答案 0 :(得分:1)
这些功能仅在用户已通过代理(通过在弹出提示中键入凭据)在当前进程内进行身份验证时才有效。在他们这样做之前,WinINET 没有代理凭据,结果将为空。
如果代理仅通过NTLM或Kerberos依赖用户当前的Windows登录凭据,结果也将为空。