Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как авторизоваться на прокси?


Григорьев Антон ©   (2004-10-14 16:55:00) 

Есть программа, читающая страницу с помощью Internet API. Пока я выходил в интернет через прокси, не требующий авторизации, программа нормально работала при указании в функции InternetOpen типа доступа INTERNET_OPEN_TYPE_PRECONFIG. Теперь у нас новый прокси, он требует авторизации. Программа перестала работать с любым типом доступа. Аська стала работать с новым прокси после того, как я задал там имя пользователя и пароль, который используется для авторизации на прокси. А как задать имя и пароль из своей программы? Или как прописать их в реестре, чтобы работал тип доступа INTERNET_OPEN_TYPE_PRECONFIG?


PEAKTOP   (2004-10-15 00:26:00) [1]

А вот с авторизацией:

 hInet := InternetOpen('Mozilla', 3, '192.168.0.1', nil, 0)
 if(hInet<>NIL) then
   begin
   hInet2 := InternetConnect(hInet, '192.168.0.1', 3128 {Proxy-port = 3128}, 'username', 'password', 3 {HTTP}, 0, 0);
   if(hInet2=NIL)then
     begin

     .. Do something ...

     InternetCloseHandle(hInet2);
     end;
   InternetCloseHandle(hInet);
   end;


PEAKTOP   (2004-10-15 00:18:00) [2]


var
 IsProxy :Boolean;
 Proxy   :string;
const
 AppTitle:string = 'Microsoft Internet Explorer';

 IsProxy := RegGetDWord(HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Internet Settings','ProxyEnable')=1;
 if IsProxy then
   begin
     Proxy   := RegGetStr(HKEY_CURRENT_USER,'Software\Microsoft\Windows\CurrentVersion\Internet Settings', 'ProxyServer');
   hInet := InternetOpen(@AppTitle[1], 3, @Proxy[1], nil, 0)
   end
  else
   hInet := InternetOpen(@AppTitle[1], 0, nil, nil, 0);
 if(hInet<>NIL) then
   begin

   ....Что-то делаем ....

   InternetCloseHandle(hInet);
   end;

В примере условно считаем, что определены функции RegGetDWord и RegGetString, читающие из реестра DWord и String соответственно.


Rouse_   (2004-10-14 18:03:00) [3]

InternetConnect


Григорьев Антон   (2004-10-14 18:02:00) [4]


> Rouse_ ©   (14.10.04 17:59) [1]

Не получается. И никак не пойму, куда писать логин и пароль для авторизации.


Rouse_   (2004-10-14 17:59:00) [5]

INTERNET_OPEN_TYPE_PROXY?


Наверх

Титульная страница Поиск, карта сайта Написать письмо