Конференция "Начинающим" » Indy и SSL. есть еще недоработки?
 
  • Pcrepair © (07.01.18 19:09) [0]
    Добрый день. Есть, в общем, стандартный код загрузки 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
 
Конференция "Начинающим" » Indy и SSL. есть еще недоработки?
Есть новые Нет новых   [118478   +40][b:0][p:0.001]