gpt4 book ai didi

delphi - 我们如何连接网站?收到 SSL 错误 1409442E

转载 作者:行者123 更新时间:2023-12-03 15:46:06 26 4
gpt4 key购买 nike

我正在使用 Delphi 10.2 Tokyo,尝试从 Web 服务器下载一些信息。

我使用 Indy 10.6.2.5366 通过此函数传递命令 URL https://poloniex.com/public?command=returnCurrency(如果我将其粘贴到浏览器中,该命令将起作用):

function ReadHTTPS(const url: string): string;
var
IdHTTP: TIdHTTP;
IdSSL: TIdSSLIOHandlerSocketOpenSSL;
begin
IdHTTP := TIdHTTP.Create;
try
IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP);
IdHTTP.IOHandler := IdSSL;
result := IdHTTP.Get(url);
if IdHTTP.ResponseText <> '' then
OutputDebugString(PWideChar('ReadHTTPS: ' + IdHTTP.ResponseText));
finally
IdHTTP.Free;
end;
end{ ReadHTTPS};

这会产生以下错误:

Error connecting with SSL. error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version

我尝试将 OpenSSL 的最新 DLL 安装在与 exe 相同的目录中,但这并没有解决问题。

有什么想法吗?

最佳答案

确保您使用的是 up-to-date version of the OpenSSL DLLs支持 TLS v1.2(Indy 目前支持的最新版本是 1.0.2u),然后您需要在 SSLIOHandler 的 SSLOptions 中启用 sslvTLSv1_2 标志.SSLVersions 属性:

IdSSL.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];

或者:

IdSSL.SSLOptions.SSLVersions := [sslvTLSv1_2];

Indy enables only TLS v1.0 by default ,显然 https://poloniex.com 不允许 TLS v1.2 之前的 TLS 版本。

关于delphi - 我们如何连接网站?收到 SSL 错误 1409442E,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48984539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com