Я использую TIdHTTP для удобного получения запросов.В основном это работает хорошо, но на некоторых сайтах я не могу установить соединение, даже если я пробую различные настройки.Я пытался следовать ответу от здесь
Чтобы действительно подключиться к «любому» серверу, вам нужно будет обнаружить ошибку «неправильной версии» и повторить попытку с другим конкретным методом /Конфигурация SSLVersions.К сожалению, ответ «неправильная версия» не включает в себя фактическую версию сервера, поэтому вы должны использовать метод проб и ошибок.Если SSLv23 не работает, попробуйте TLSv1_2.Если это не помогло, попробуйте TLSv1_1.Если это не помогло, попробуйте TLSv1.Если это не удается, попробуйте SSLv3.
Но это не помогло.
Исключение - 'Ошибка соединения с SSL.error: 14094410: Подпрограммы SSL: SSL3_READ_BYTES: сбой квитирования оповещения sslv3'
Или непонятные подпрограммы SSL: SSL3_GET_RECORD: неверный номер версии.Но я не могу точно решить SSL3_READ_BYTES: sslv3 alert
Пример кода, воспроизводящего проблему, и примеры сайтов:
begin
httpSender := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
SSL.SSLOptions.Method := sslvTLSv1; //or sslvSSLv3, sslvTLSv1,sslvTLSv1_1
//or
//SSL.SSLOptions.Method := sslvSSLv23;
//SSL.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
httpSender.IOHandler := SSL;
//exceptions here
httpSender.Get('https://www.linux.org/');
//httpSender.Get('https://st.deviantart.net/');
//httpSender.Get('https://c.tcdn.co/fa4/aa2/fa4aa23e-f55b-11e6-ba87-040157cdaf01/channel256.png');
end;
Так как мне настроить TIdHTTP для подключения к этим сайтам?
Я использую Delphi XE8 и openssl 1.0.1e