IDHTTP-HTTPS通讯方法(Indy10.2.3之前仅支持OpenSSL的0.9.8以前的版本)
加载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及之后才支持…
http://blog.sina.com.cn/s/blog_722bc92e0101i7g5.html
IDHTTP-HTTPS通讯方法(Indy10.2.3之前仅支持OpenSSL的0.9.8以前的版本)的更多相关文章
- 深入理解HTTPS通讯原理
一.HTTPS简介 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL:我们知 ...
- 常见的HTTPS攻击方法
0x00 背景 研究常见的https攻击方法 Beast crime breach,并针对https的特性提出一些安全部署https的建议. 针对于HTTPS的攻击,多存在于中间人攻击的环境中,主要是 ...
- controller 和 指令 通讯方法
在 angular 中我们经常会使用多个 controller 和 指令 他们拥有各自的 $scope , 这就产生了跨$scope调用的问题. 有几种常见的方法来可以使用. 方法一 : 指令 req ...
- Moya https配置方法
准备 iOS做https适配时对服务器是有一定要求的,服务端必须要是一个符合ATS(App Transport Security)要求的HTTPS.简单说要满足以下几个要求: 1.Transpor ...
- haproxy代理https配置方法【转】
记得在之前的一篇文章中介绍了nginx反向代理https的方法,今天这里介绍下haproxy代理https的方法: haproxy代理https有两种方式:1)haproxy服务器本身提供ssl证书, ...
- https通讯原理
https通讯原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息.TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经 ...
- (转)Nginx的https配置记录以及http强制跳转到https的方法梳理
Nginx的https配置记录以及http强制跳转到https的方法梳理 原文:http://www.cnblogs.com/kevingrace/p/6187072.html 一.Nginx安装(略 ...
- php判断是不是https的方法
php判断是不是https的方法<pre> public function is_https() { if (!empty($_SERVER['HTTPS']) && st ...
- Github 绑定域名添加https的方法 2019年9月更新
官方教程 https://help.github.com/en/articles/using-a-custom-domain-with-github-pages 打开 https://github.c ...
随机推荐
- MKNetworkKit的断点续传SIDownloader下载
comefrom:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73d6f8b9042238fce098 ...
- js中多层复杂并且动态键值JSON的获取方法
开发中遇到了用js解析重新组装json数据的要求,关键点在于JSON中的串的键是动态的,多方查找解决了在此做个记录.同时我也深感js中循环的无赖,如果用i作为键会得到索引,用key作为循环变量竟然可以 ...
- 新一代Xamarin
新一代Xamarin竟然可以将.NET代码原生编译成:Jar包供Java原生调用.swift类库.obj-c类库.C++类库 供目标平台传统代码直接调用 之前和很多朋友聊到Xamarin觉得确实不错, ...
- springboot 使用传统方式部署
spring boot默认创建出来的应用程序是内嵌web容器的,直接运行jar文件就可以的,但通常我们也需要将程序部署到tomcat中,这需要做如下改进: 1.pom.xml修改 打包方式需要修改成w ...
- android开发之微信支付功能的实现
移动开发中,支付类的App越来越多,对于开发者来说也是不可少的,不可不会的:下面就来说一说支付开发的流程 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该 ...
- WM_NOTIFY消息流程实例分析
我们以CListCtrl控件为例来分析WM_NOTIFY消息. CListCtrl控件在Report样式下会包含CHeaderCtrl标头控件,即CHeaderCtrl标头控件为CListCtrl控件 ...
- react里执行shouldComponentUpdate时返回false的后果
大家都知道生命周期shouldComponentUpdate返回false时,不会进行后续的渲染,那这个时候state是什么情况呢.我们看一下demo class Toggle extends Rea ...
- 从文件 I/O 看 Linux 的虚拟文件系统
1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系 ...
- C++重载加号运算符实现两个结构体的相加
#include<iostream> #include<string> using namespace std; struct S { int a, b; string str ...
- struts2和velocity整合问题
以下是我第一次使用velocity的时候写的 2012-03-12 话说struts真够懒的,都把velocity-1.6.4.jar放到他自己的lib里边了,就不给放全了,搞得新手太郁闷了.stru ...