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

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

Поддержка Proxy [D7, 2000, XP, 2003]


Смирнов Сергей ©   (2008-12-05 19:14:00) 

Всем Привет, хочу добавить в программу (WinInet), поддержку работы с прокси. Нашел вот такую функцию на просторах интернета:

// При помощи данной процедуры, Написанной на языке Delphi, можно установить Proxy,
// через которую будет осуществляться работа в Internet, Proxy адрес указывается в
// формате адрес : порт, например 195.43.67.33:8080.

procedure ChangeProxy(aProxy: string);
var
 PIInfo: PInternetProxyInfo;
begin
 New(PIInfo);
 PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
 PIInfo^.lpszProxy := PChar(aProxy);
 // Список адресов, доступ к которым осуществляется не через прокси
 PIInfo^.lpszProxyBypass := PChar('');
 UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
   SizeOf(Internet_Proxy_Info), 0);
 Dispose(PIInfo);
end;


Функция работает корректно, но я не силён в терминологии, хочу задать вопрос, Вам Многоуважаемые Мастера.

Вопрос:Фунция эта только для работы через Http proxy, или с SOCKS4, SOCKS5, HTTPS тоже? Или я все перепутал?


Смирнов Сергей   (2008-12-06 14:44:00) [1]

Так всё же, полноценная это функция для прокси соединения, естественно без Авторизации! Пока без... ;)


Смирнов Сергей   (2008-12-05 20:50:00) [2]


> KilkennyCat ©   (05.12.08 20:37) [5]


Indy, нет не надо мне  сего! (Не в коем не принижая её возможностей!) Только WinInet!!!


KilkennyCat   (2008-12-05 20:43:00) [3]


> так как нет соответствующих параметров!


Это не факт.
Я с прокси не особо силен, но напомню, что, например, запись " ftp://user:password@host:port/dir" включает в себя все необходимое. для фтп. возможно, так и с прокси.


KilkennyCat   (2008-12-05 20:37:00) [4]

http://www.indyproject.org/KB/index.html?tidftpsocksproxy.htm- может, этот вариант более универсален?


Смирнов Сергей   (2008-12-05 20:30:00) [5]


> если прокси-сервер требует авторизации?


Добавил, скорее всего нет, так как нет соответствующих параметров!


KilkennyCat   (2008-12-05 20:22:00) [6]

а вообще смотри просто исходник WinInet.pas - много вопросов отпадет.
правда, появятся много других... :)


KilkennyCat   (2008-12-05 20:21:00) [7]


> Http proxy, или с SOCKS4, SOCKS5, HTTPS


44    INTERNET_DEFAULT_FTP_PORT = 21;                   { default for FTP servers }
45    INTERNET_DEFAULT_GOPHER_PORT = 70;                {    "     "  gopher " }
46    INTERNET_DEFAULT_HTTP_PORT = 80;                  {    "     "  HTTP   " }
47    INTERNET_DEFAULT_HTTPS_PORT = 443;                {    "     "  HTTPS  " }
48    INTERNET_DEFAULT_SOCKS_PORT = 1080;


KilkennyCat   (2008-12-05 20:17:00) [8]

Ты забыл добавить еще один немаловажный вопрос: а будет ли сие работать, если прокси-сервер требует авторизации?


Наверх

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