打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
delphi idhttp访问https需要增加IdSSLIOHandlerSocketOpenSSL1
 
 

delphi idhttp访问https需要增加IdSSLIOHandlerSocketOpenSSL1  


加载https的站点页面内容的时候记得在窗体上加上“IdSSLIOHandlerSocketOpenSSL1”

以及idhttp里面IOHandler为“IdSSLIOHandlerSocketOpenSSL1”

不然老报“IOHandler value is not valid.”错误。


dnspod API V2.0 就是用的https 用delphi开发客户 只需要用idhttp就可以post

在界面上放一个TIdHTTP控件,命名为IdHTTP1,再放一个TIdSSLIOHandlerSocket控件,命名为

IdSSLIOHandlerSocket1,将IdHTTP1的IOHandler属性设为IdSSLIOHandlerSocket1,这样就可以随

意的Get,Post那些地址为https开头的网站了。
不过这样仍然不行,当运行程序时,会报错“Could not load SSL library”,这是因为

TIdSSLIOHandlerSocket控件需要OpenSSL Library来配合,OpenSSL Library包含有两个动态链接库

libeay32.dll和ssleay32.dll。
OpenSSL Indy版下载 http://indy.fulgan.com/SSL/

或http://download.csdn.net/detail/netcreate/3498085(经测试,delphi 2010下的indy可以用)


将这个rar解包释放两个dll到你的程序目录即可,但是我这样做完以后post数据还是不行,发现

idhttp这里有个版本的选项Method,默认的是sslvSSLv2,改为sslvSSLv3,post返回数据正常,

yeah~仔细看了看,这个属性是IdSSLIOHandlerSocket1的。

写一个登录HTTPS协议网站的工具,想用INDY实现
现在老是会报错“Could not load SSL library”,可是我已经把ssleay32.dll和libeay32.dll两个

库文件拷进去了,是不是要专门支持D7的库文件才可以.

有类似的代码也可以提供参考一下,非常感谢!

是的,在Indy10.0.5之前的版本所使用的OpenSSL是Indy特别的版本
Indy10.2.3之前仅支持OpenSSL的0.9.8以前的版本
Indy10.2.3及之后才支持…

阅读(5531)| 评论(0)
       


将文章分享到朋友圈。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
delphi idhttp访问http与https不同点
delphi7下indy10这idhttp.get获取https出错
Delphi的idhttp报IOHandler value is not valid错误的原因
关于delphi中使用证书调用以https网站的问题
Delphi如何使用最新版本的OpenSSL
Delphi 中使用 ActiveX DLL的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服