Получить имя пользователя и пароль для прокси IE - PullRequest
0 голосов
/ 02 июня 2011

Я хочу получить имя пользователя и пароль для прокси из 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; 
     }
}

InternetQueryOption с INTERNET_OPTION_PROXY работает нормально. Но когда я использую его с INTERNET_OPTION_PROXY_USERNAME или INTERNET_OPTION_PROXY_PASSWORD, происходит сбой с dwSize, равным 0. Функция GetLastError возвращает код ошибки 12018. Есть идеи, почему эти функции не работают?

1 Ответ

1 голос
/ 02 июня 2011

Эти функции будут работать только в том случае, если пользователь уже прошел аутентификацию на прокси-сервере (введя учетные данные во всплывающем окне) внутри текущего процесса . Пока они этого не сделают, WinINET не имеет учетных данных прокси, и результат будет пустым.

Результат также будет пустым, если прокси-сервер полагается только на текущие учетные данные пользователя для входа в Windows через NTLM или Kerberos.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...