/ / Pobierz nazwę użytkownika proxy IE i hasło - http, wininet

Pobierz nazwę użytkownika proxy IE i hasło - http, wininet

Chcę pobrać nazwę użytkownika i hasło proxy z IE7 Oto mój kod

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 z INTERNET_OPTION_PROXYdziała w porządku. Ale kiedy używam go z INTERNET_OPTION_PROXY_USERNAME lub INTERNET_OPTION_PROXY_PASSWORD, nie działa z dwSize równym 0. Funkcja GetLastError zwraca kod błędu 12018. Masz pojęcie, dlaczego te funkcje zawodzą?

Odpowiedzi:

1 dla odpowiedzi № 1

Funkcje te będą działać tylko wtedy, gdy użytkownik jest już uwierzytelniony na serwerze proxy (wpisując poświadczenia w wyskakującym okienku) w ramach bieżącego procesu. Dopóki tego nie zrobią, WinINET nie ma poświadczenia proxy, a wynik będzie pusty.

Wynik będzie również pusty, jeśli serwer proxy będzie polegał tylko na bieżących poświadczeniach logowania użytkownika do systemu Windows za pośrednictwem NTLM lub Kerberos.