今天有个客户要求连接https去获取数据,而我的系统是delphi6开发的,选择空间tidhttp进行了一波尝试,发现delphi6的tidhttp控件只支持http而不支持https,几经探索才成功完成任务,记录如下:
选择TElHTTPSClient控件,控件在我的资源里可以下载,待会儿上传,下载后请把pakages里面所有delphi6对应的控件全部安装(打开的delphi6,打开object,选择对应包,点击install即可)
新建TElHTTPSClient控件,实例化该控件后,调用该控件的get或者post方法,就会触发该控件的data事件,data事件里会出现https服务器请求的返回值,抓到返回值Buffer即可,
将返回值utf8encode()转换一下即可获得string类型的返回值
以下是访问https的demo
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, SBHTTPSClient, SBX509, SBClient, SBSimpleSSL, SBUtils;
type
TFrmMain = class(TForm)
//,创建TElHTTPSClient控件
HttpsClient: TElHTTPSClient;
procedure btnGoClick(Sender: TObject);
procedure HttpsClientData(Sender: TObject; Buffer: Pointer;
Size: Integer);
private
{ Private declarations }
sResult