首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPS协议(Delphi XE)的问题

HTTPS协议(Delphi XE)的问题
EN

Stack Overflow用户
提问于 2022-02-06 07:05:45
回答 2查看 180关注 0票数 -1

这样做,我应该获得公共知识产权:

代码语言:javascript
复制
function TForm1.GetPublicIp: String;
begin
  IdHttp1.Request.Host := 'https://www.mio-ip.it';
  Result := IdHttp1.Get('https://www.mio-ip.it');
end;

问题是,即使我没有错误地填写它,当我按下按钮时,它也会引发一个错误:

IOHandler值无效

EN

回答 2

Stack Overflow用户

发布于 2022-02-07 02:50:42

您正在请求一个HTTPS url。为了在TIdHTTP中使用HTTPS (HTTPS/TLS),您需要为TIdHTTP.IOHandler属性(如TIdSSLIOHandlerSocketOpenSSL )分配一个TIdSSLIOHandlerSocketBase-derived组件。还可以在Indy的博客上看到用于TIdHTTP的新HTTPS功能

使用TIdSSLIOHandlerSocketOpenSSL,您必须使用应用程序ssleay32.dlllibeay32.dll部署2个OpenSSL二进制文件。你可以从印地的OpenSSL-二进制文件 GitHub回购处得到它们。只需注意,TIdSSLIOHandlerSocketOpenSSL最多支持OpenSSL 1.0.2u。如果您需要OpenSSL 1.1.x (对于TLS1.3,等等),则可以使用SSLIOHandler

或者,您可以使用任何其他的SSL/TLS库,只要您能够为它找到(或编写)一个SSLIOHandler。例如,SecureBlackbox为它自己的SSL/TLS引擎提供了一个SSLIOHandler这个GitHub回购为LibTLS提供了一个SSLIOHandler

票数 0
EN

Stack Overflow用户

发布于 2022-02-22 20:06:23

此外,您还可以使用TNetHTTPClient进行Delphi XE8和up。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71004922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档