Проблема работы с 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%). Code: 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; Читать далее
indy не есть гуд. максимум что себе позволяю wininet. все остальное считаю глючным и медленным, а что самое главное не прозрачным для понимания и разбора.
оlbaneс, вы меня раскусили На самом деле - несколько раз сталкивался с подобной проблемой и с отсутствием материала / исходников по ней. Наконец решил опубликовать, чего наделал, вдруг полезно будет