Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.01.2018, 20:11   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 230
Репутация: 10
По умолчанию Indy и SSL. есть еще недоработки?

Добрый день. Есть, в общем, стандартный код загрузки 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
Вопрос: никто не в курсе что это за ерунда?
__________________
Сборник рабочего кода Процедур и Функций DelPhi
http://validcoderepo.narod.ru/
Pcrepair вне форума   Ответить с цитированием
Старый 28.03.2018, 08:42   #2
asdf_2ц
Новичок
 
Регистрация: 01.02.2018
Сообщений: 1
Репутация: 10
По умолчанию

удалось решить проблему? если да, то напиши как
asdf_2ц вне форума   Ответить с цитированием
Старый 01.04.2018, 08:12   #3
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 205
Репутация: 62
По умолчанию

Зачем такой перекод, там все намного проще. Индейку посвежее и в путь.
XerSon вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INDY + HTTPS + SSL Maxwellion Работа с сетью в Delphi 5 16.01.2014 16:45
FTP и SSL (indy 9) Happiness_Cookie Работа с сетью в Delphi 0 21.08.2013 09:04
SSL соединение в Indy IQDDD Работа с сетью в Delphi 3 04.04.2013 21:39
Indy SSL metra52 Работа с сетью в Delphi 2 10.04.2012 18:44
Компонент с функционалом SSL+INDY. (Разрушительный сбой) Stilet Компоненты Delphi 7 07.01.2011 18:02


17:27.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru