![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinInet_Proxy
iDL © (2006-04-03 22:25:00)Задача: есть прокси 192.168.0.1 User=DL Pass=12345, мне надо скачать файл по заданной ссылке.
Как с помощью wininet пройти авторизацию на прокси (имя и пароль)
как только не пробывал не получается ... скачивается страничка, что авторизация не пройдена, helppp.
iDL (2006-04-05 15:47:00) [1]попробывал ... GetLastError, после
InternetSetOption(hSession , INTERNET_OPTION_PROXY_PASSWORD, ...
выдает 12018=ERROR_INTERNET_INCORRECT_HANDLE_TYPE
т.е. ругается на hSession, если авторизация стоит по MAC, то файл качается нормально ... :'(
isasa (2006-04-05 10:59:00) [2]:) Пришел на работу, заглянул в MSDN
This function sets an Internet option on the specified handle.
BOOL WINAPI InternetSetOption(
HINTERNET hInternet,
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength
);
Parameters
hInternet
[in] Internet handle on which to setinformation.
Т.е в данном случае
hSession := InternetOpen('Microsoft Internet Explorer 7.0', INTERNET_OPEN_TYPE_PROXY,'192.168.0.245:8080',nil, 0);
...
InternetSetOption(hSession , INTERNET_OPTION_PROXY_USERNAME, ...
InternetSetOption(hSession , INTERNET_OPTION_PROXY_PASSWORD, ...
...
hConnect:= InternetConnect(hSession,...
...
hRequest:= HttpOpenRequest(hConnect,...
...
HttpSendRequest(hRequest,...
...
isasa (2006-04-05 08:26:00) [3]+ Еще, сначала HttpSendRequest(..., а потом устанавливаем опции?
Может наоборот?
isasa (2006-04-05 08:22:00) [4]В этом случае должно быть двепары(логин, пароль) - один на подкльчение к прокси, второй на подключение к узлу. Это разныевещи.
iDL (2006-04-04 15:20:00) [5]мне надо именно чтоб в программе пароль и имя пользователя забивалось ...
hSession := InternetOpen('Microsoft Internet Explorer 7.0', INTERNET_OPEN_TYPE_PROXY,'192.168.0.245:8080',nil, 0);
UserName:='12345';
Password:='12345';
Host:='home.earthlink.net';
URL :='/~akonshin/files/IdeSN.zip';
hConnect:= InternetConnect(hSession, Host, INTERNET_INVALID_PORT_NUMBER, nil, nil, INTERNET_SERVICE_HTTP, INTERNET_FLAG_KEEP_CONNECTION,0);
hRequest:= HttpOpenRequest(hConnect,'GET',URL,nil,nil,nil,INTERNET_FLAG_KEEP_CONNECTION,0);
HttpSendRequest(hRequest, nil, 0, nil, 0);
InternetSetOption(hRequest,INTERNET_OPTION_PROXY_USERNAME, UserName, Length(UserName));
InternetSetOption(hRequest,INTERNET_OPTION_PROXY_PASSWORD, Password, Length(Password));
может подскажите где не так ?
чем отличается INTERNET_OPTION_PROXY_PASSWORD от INTERNET_OPTION_PASSWORD
isasa (2006-04-04 10:46:00) [6]Как вариант
Header Wininet.h
HINTERNET InternetOpen(
IN LPCTSTR lpszAgent,
IN DWORD dwAccessType,
IN LPCTSTR lpszProxyName,
IN LPCTSTR lpszProxyBypass,
IN DWORD dwFlags
);
dwAccessType = INTERNET_OPEN_TYPE_PRECONFIG;
Retrieves the proxy or direct configuration from the registry.
А вот в реестре(опции IE) настраиваем подключение к прокси с авторизацией.