delphi调用https

delphi xe7调用https接口

1.代码示例

unit AW.Net.Globals;

interface

uses
  IdCookieManager;

var
  CookieManager:TIdCookieManager;

implementation

initialization
  CookieManager:=TIdCookieManager.Create(nil);

finalization
  CookieManager.Free;

end.
unit AW.Net.Func;

interface

uses
  IdHTTP,IdCookieManager,AW.Net.Globals,IdSSLOpenSSL;

const
  YI_CONST_IDHTTP_READTIMEOUT = 20000;
  YI_CONST_IDHTTP_USERAGENT   = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT6.0)';

function Yi_GetIdHttp(HasCookies:Boolean=true;CManager:TIdCookieManager=nil):TIdHttp;


implementation

function Yi_GetIdHttp(HasCookies:Boolean=true;CManager:TIdCookieManager=nil):TIdHttp;
var
  IdHTTP:TIdHTTP;
  vSSL:TIdSSLIOHandlerSocketOpenSSL;
begin
  IdHTTP:=TIdHTTP.Create(nil);
  vSSL:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  if HasCookies then
  begin
    if CManager=nil then IdHTTP.CookieManager:=CookieManager
    else IdHTTP.CookieManager:=CManager;
  end;
  IdHTTP.IOHandler:=vSSL;
  IdHTTP.Request.UserAgent:=YI_CONST_IDHTTP_USERAGENT;
  IdHTTP.ReadTimeout:=YI_CONST_IDHTTP_READTIMEOUT;
  IdHTTP.HandleRedirects:=True;
  IdHTTP.ProtocolVersion:=pv1_1;
  IdHTTP.HTTPOptions:=IdHTTP.HTTPOptions+[hoKeepOrigProtocol];
  IdHTTP.Request.CacheControl:='no-cache';
  IdHTTP.Request.AcceptLanguage:='zh-cn';

//  IdHTTP.Request.AcceptEncoding:='gzip, deflate';
  IdHTTP.Request.Accept:='*/*';
  IdHTTP.Request.Connection:='Keep-Alive';
  Result:=IdHTTP;
end;

end.

2.所需dll

下载libeay32.dll和ssleay32.dll这两个动态链接库放到exe同级目录下即可。
libeay32.dll和ssleay32.dll下载


版权声明:本文为qq_28497877原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。