首页 > 解决方案 > 我无法修复错误 SSL 例程:SSL23_GET_SERVER_HELLO:unknown protocol

问题描述

我尝试通过使用 Delphi 的 Indy 组件来获取网站“ https://www.whiskyauctioneer.com ”的页面内容。我正在使用 Delphi X7 和 Indy 10.6.2.0 以及来自 openssl-1.0.2u 的 dll

我认为自从这个网站使用 TLS 1.2 以来,我的代码不再工作了。

我尝试了不同的错误方法:

error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

或者

error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

我的代码:

procedure TFormMain.Button21Click(Sender: TObject);
const
  url = 'https://www.whiskyauctioneer.com';
var
  lHTTP: TIdHTTP;
  lIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin

    IdHTTP1 := TIdHTTP.Create( self );
    IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
    lIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create( IdHTTP1 );

    lIOHandler.SSLOptions.Method := sslvTLSv1_2;
    IdHTTP1.IOHandler := lIOHandler;

    showmessage(IdHTTP1.Get(url));
end;

我希望有人能指出我正确的方向。

标签: delphihttpsopenssltls1.2indy

解决方案


推荐阅读