gpt4 book ai didi

Delphi 7 和 Indy 9.0 连接 SSL 时出错

转载 作者:行者123 更新时间:2023-12-04 22:38:29 33 4
gpt4 key购买 nike

我正在使用 TIdHTTP要执行的组件GET命令,导致上述错误消息:

Request.ContentType := 'text/html';
Request.CustomHeader.Values['Authorization'] := 'Basic '+ TIdEncoderMIME.EncodeString(SPIAKey)+':'TIdEncoderMIME.EncodeString(SAPISecret);

TIdSSLIOHHandlerSocket

方法 - sslvSSLv2

有人可以帮我吗?

最佳答案

NOBODY 不再使用 SSL v2.0 或 SSL v3.0,因为它们不再安全。您至少需要使用 TLS v1.0 1. Indy 9 的 TIdSSLIOHandlerSocket组件最高支持 TLS v1.0。设置SSLOptions.Method属性(property)给 sslvTLSv1为了那个原因。

1:请注意,网站正在慢慢放弃对 TLS v1.0 的支持,而主要的网络浏览器供应商也将在今年晚些时候放弃对 TLS v1.0 和 v1.1 的支持。

要使用 TLS v1.1 及更高版本,您需要升级到 Indy 10,其中 TIdSSLIOHandlerSocket已重命名为 TIdSSLIOHandlerSocketOpenSSL , 及其 SSLOptions.Method属性已被弃用,取而代之的是新的 SSLOptions.SSLVersions属性,这将允许您同时启用 TLS v1.0、v1.1 和 v1.2。

附带说明,您不需要使用 TIdHTTP.Request.CustomHeader使用属性Basic验证。 TIdHTTP内置支持 Basic .只需设置 TIdHTTP.Request.BasicAuthentication属性为 True 然后使用 TIdHTTP.Request.UsernameTIdHTTP.Request.Password特性:

Request.ContentType := 'text/html';
Request.BasicAuthentication := True;
Request.Username := SPIAKey;
Request.Password := SAPISecret;

这适用于 Indy 9 和 10。

关于Delphi 7 和 Indy 9.0 连接 SSL 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60338634/

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