【问题标题】:Retrieve IE proxy username and password检索 IE 代理用户名和密码
【发布时间】:2011-06-02 11:00:33
【问题描述】:

我想从 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。 知道为什么这些功能会失败吗?

【问题讨论】:

    标签: http wininet


    【解决方案1】:

    只有在用户已经通过代理验证(通过在弹出提示中输入凭据)在当前进程中时,这些功能才会起作用。在他们这样做之前,WinINET没有代理凭据,结果将为空。

    如果代理仅通过 NTLM 或 Kerberos 依赖用户当前的 Windows 登录凭据,则结果也将为空。

    【讨论】:

    • 感谢您的回复。我已经对代理进行了身份验证。此外,用户名和密码已通过弹出提示中的记住密码选项保存。另外,“在当前流程中”是什么意思?你能解释一下它是如何工作的吗?还是有其他选择?
    猜你喜欢
    • 2015-06-03
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多