Добрый день. Есть, в общем, стандартный код загрузки 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
Вопрос: никто не в курсе что это за ерунда?