我正在使用TIdHTTP组件执行GET命令,导致出现上述错误消息:
Request.ContentType := 'text/html';
Request.CustomHeader.Values['Authorization'] := 'Basic '+ TIdEncoderMIME.EncodeString(SPIAKey)+':'TIdEncoderMIME.EncodeString(SAPISecret);
Run Code Online (Sandbox Code Playgroud)
TIdSSLIOHHandlerSocket
方法-sslvSSLv2
有人可以帮我解决这个问题吗?
没有人再使用 SSL v2.0 或 SSL v3.0,因为它们不再安全。您至少 需要使用 TLS v1.0 1。Indy 9 的TIdSSLIOHandlerSocket组件最高支持 TLS v1.0 max。为此将SSLOptions.Method属性设置为。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.Username和TIdHTTP.Request.Password属性:
Request.ContentType := 'text/html';
Request.BasicAuthentication := True;
Request.Username := SPIAKey;
Request.Password := SAPISecret;
Run Code Online (Sandbox Code Playgroud)
这适用于 Indy 9 和 10。
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |