program APIStore; {* 本范例在Delphi XE10.1下编译通过,依赖Indy10组件 *} {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes, IdHTTP,idURI; {* POST请求方式(推荐) url 请求地址 param 请求参数 *} procedure requestPost(url:string; param:string); var pHttp: TIdHTTP; requestStream : TStringStream; //请求数据流 responseStream : TStringStream; //返回信息 responseStr : string; begin requestStream := TStringStream.Create('',TEncoding.UTF8); responseStream := TStringStream.Create('',TEncoding.UTF8); pHttp := TIdHTTP.Create(Nil); try try phttp.Request.ContentType:='application/x-www-form-urlencoded'; phttp.Request.CharSet := 'UTF-8'; requestStream.WriteString(param); //以流的方式提交参数 pHttp.Post(url,requestStream,responseStream); responseStr := responseStream.DataString; //获取网页返回的信息 //responseStr := UTF8Decode(responseStr); writeln(responseStr); except on e : Exception do begin writeln(e.Message); end; end; finally phttp.Free; requestStream.Free; responseStream.Free; end; end; {* GET请求方式 url 请求地址 param 请求参数 *} procedure requestGet(url:string; param:string); var pHttp: TIdHTTP; responseStream : TStringStream; //返回信息 responseStr : string; begin responseStream := TStringStream.Create('',TEncoding.UTF8); pHttp := TIdHTTP.Create(Nil); try try pHttp.Get(url + '?' + param,responseStream); responseStr := responseStream.DataString; //获取网页返回的信息 //responseStr := UTF8Decode(ResponseStr); writeln(responseStr); except on e : Exception do begin writeln(e.Message); end; end; finally phttp.Free; responseStream.Free; end; end; //获取内容 procedure getContent(requestType:string); var url:string; reg:string; pwd:string; param:string; begin url:="https://v.1dq.com/api/c43"; param:="key=您申请的key&bankcard=123456789&apiversion=2.0.5"; if requestType = 'GET' then begin requestGet(url,param); end else begin requestPost(url,param); end; end;