Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Indy и SSL. есть еще недоработки?


Pcrepair ©   (07.01.18 19:09

Добрый день. Есть, в общем, стандартный код загрузки https страницы

procedure LoadUrl(const aUrl:string; var IsPageLoaded:Boolean; var HtmlCode:string);
var
 ServerCharset:string;
 Buffer: TBytes;
 fIdHttp:TidHTTP;
 fSSL:TIdSSLIOHandlerSocketOpenSSL;
 fStream: TMemoryStream;
begin
 fIdHttp := TIdHTTP.Create(nil);
 fSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
 fStream := TMemoryStream.Create;
 try
   try
     fSSL.MaxLineLength:=16384;
     fSSL.Port:=0;
     fSSL.ReadTimeout:=-1;
     fSSL.SendBufferSize:=32768;
     fSSL.SSLOptions.Method:=sslvTLSv1;
     fSSL.SSLOptions.Mode:=sslmUnassigned;
     fSSL.SSLOptions.SSLVersions:=[sslvTLSv1];
     fSSL.SSLOptions.VerifyDepth:=0;
     fSSL.UseNagle:=True;

     fIdHttp.IOHandler:=fSSL;
     fIdHttp.Request.UserAgent:=GetRandomUserAgent;
     fIdHttp.ConnectTimeout:=30000;
     fIdHttp.ReadTimeout:=30000;
     fIdHttp.HandleRedirects:=True;
     fIdHttp.Request.Connection :='keep-alive';

     fIdHttp.Get(aUrl,fStream);
     ServerCharset:=AnsiLowerCase(fIdHttp.Response.CharSet);
     fStream.Position:=0;
     SetLength(Buffer,fStream.Size);
     fStream.Read(Buffer[0],Length(Buffer));
     HtmlCode:=(CodePageConvert(Buffer, ServerCharset));  
     IsPageLoaded:=True;
   except
     on E:Exception do
     begin
       HtmlCode:=aUrl+#32+#32+#32+E.Message;
       IsPageLoaded:=False;
     end;
   end;
 finally
   FreeAndNil(fIdHttp);
   FreeAndNil(fSSl);
   FreeAndNil(fStream);
 end;
end;


INDY(10.5.9.0) RAD XE3
libeay32.dll   ssleay32.dll (file ver: 0.9.8.18) last mod 07.04.2011

и все работает, кроме сайта https://devyatov.su
там вместо хтмл-кода страницы грузится :
Error connecting with SSL. error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Вопрос: никто не в курсе что это за ерунда?


vbs   (07.01.18 19:40[1]

set l_xml = CreateObject("Microsoft.XMLHTTP")
call l_xml.open("GET", "https://devyatov.su", False)
l_xml.send(null)
MsgBox(l_xml.responseText)
set l_xml = nothing


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо