ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Подружим idhttp, idsocksinfo и idssliohandlersocketopenssl
  #1  
Старый 16.01.2010, 12:51
Аватар для Пуховой
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
Smile Подружим idhttp, idsocksinfo и idssliohandlersocketopenssl

Проблема работы с ssl через socks в indy наблюдается давно. Сколько бы не лазил на форумах – никому без геморроя не удавалось подружить 3 компоненты, дабы они работали более или менее корректно. Поэтому пришлось связывать самому.

Используемое:

- Delphi 2010 update 5
- Indy 10.5.7, последняя доступная ревизия
- SSL библиотеки из последних, приложу в посте

Прежде чем приведу код функции тестирования прокси для работы с ssl через socks 4/4a/5 версий, напомню, что нужно добавить в uses для использования данной функции:

- idhttp
- idcookiemanager
- idsslopenssl
- idcompressorzlib
- idsocks

idcookiemanager мы добавили на всякий случай – вдруг вы захотите проверять установку кукисов (некоторые прокси не отдают оные). idcompressorzlib – для экономии трафика (не увлекаться, даже на мощных серверах способна загрузить систему на все 120%).

Код:
function test_socks (proxyadr : string) : boolean;
var
  http : tidhttp;
  coo : tidcookiemanager;
  ssl : tidssliohandlersocketopenssl;
  compressor : tidcompressorzlib;
  sock : tidsocksinfo;
begin
  result := false;
  coo := tidcookiemanager.create;
  ssl := tidssliohandlersocketopenssl.create; ssl.ssloptions.method := sslvtlsv1; ssl.port := 443;
  http := tidhttp.create; http.iohandler := ssl; http.readtimeout := 60000; http.connecttimeout := 60000; http.allowcookies := true; http.handleredirects := false; http.cookiemanager := coo; http.request.useragent := 'mozilla/4.0 (compatible; msie 7.0; windows nt 6.0)'; http.request.acceptencoding := 'gzip, deflate';
  sock := tidsocksinfo.create; sock.authentication := sanoauthentication; sock.version := svsocks5; sock.host := copy (proxyadr, 1, pos (':', proxyadr) - 1); sock.port := strtoint (copy (proxyadr, pos (':', proxyadr) + 1, 5)); ssl.transparentproxy := sock;
  compressor := tidcompressorzlib.create; http.compressor := compressor;
  try
    if pos ('О компании', http.get ('https://passport.yandex.ru/passport?mode=passport'))  0 then result := true;
  except end;
  http.free; coo.free; compressor.free; ssl.free; sock.free;
end;
Читать далее
 
Ответить с цитированием

  #2  
Старый 16.01.2010, 13:58
Аватар для оlbaneс
оlbaneс
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
Провел на форуме:
5609275

Репутация: 1474


По умолчанию

пух, кажись ты свой сайт пиаришь. м?
 
Ответить с цитированием

  #3  
Старый 16.01.2010, 14:22
Аватар для GlooK
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

Репутация: 149
По умолчанию

indy не есть гуд.
максимум что себе позволяю wininet.
все остальное считаю глючным и медленным,
а что самое главное не прозрачным для понимания и разбора.
 
Ответить с цитированием

  #4  
Старый 16.01.2010, 15:51
Аватар для Chrome~
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

Репутация: 175
Отправить сообщение для Chrome~ с помощью ICQ
По умолчанию

Цитата:
Сообщение от оlbaneс  
пух, кажись ты свой сайт пиаришь. м?
Пиарит или не пиарит, - не имеет значения.
Информация полезная.

Спасибо тебе!
 
Ответить с цитированием

  #5  
Старый 16.01.2010, 16:58
Аватар для Пуховой
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

оlbaneс, вы меня раскусили На самом деле - несколько раз сталкивался с подобной проблемой и с отсутствием материала / исходников по ней. Наконец решил опубликовать, чего наделал, вдруг полезно будет
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IdHTTP и Socks4/5 прокси AquaKlaster С/С++, C#, Delphi, .NET, Asm 5 21.11.2009 04:12
[Delphi] Модификация IdHTTP DaemoniZ С/С++, C#, Delphi, .NET, Asm 5 27.09.2009 18:33
[Delphi]Долгий запрос idHttp Kuzya С/С++, C#, Delphi, .NET, Asm 0 04.09.2009 17:59
IdHTTP в delphi bag С/С++, C#, Delphi, .NET, Asm 15 21.01.2009 20:45
Подружим мобильный телефон с Linux silveran Схемы и программы 0 18.04.2006 06:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ