![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день. Есть, в общем, стандартный код загрузки 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 Вопрос: никто не в курсе что это за ерунда? |
#2
|
||||
|
||||
![]() Индюшку обновите - 10.5.9.0 старовата
Помогаю платно. Помогаю иногда бесплатно. |