Delphi 转载:Delphi 如何GET/POST 调用HTTP请求


Delphi 如何GET/POST 调用HTTP请求json

https://blog.csdn.net/quan278905570/article/details/79724022app

--------------------------**HTTP请求的GET方法**----------------------------------------yii

 1 **HTTP请求的GET方法**
 2 procedure GetDemo;  3 var
 4  IdHttp : TIdHTTP;  5   Url : string;//请求地址
 6   ResponseStream : TStringStream; //返回信息
 7   ResponseStr : string;  8 begin
 9   //建立IDHTTP控件
10   IdHttp := TIdHTTP.Create(nil); 11   //TStringStream对象用于保存响应信息
12   ResponseStream := TStringStream.Create(''); 13   try
14     //请求地址
15     Url := 'http://dict.youdao.com/'; 16     try
17  IdHttp.Get(Url,ResponseStream); 18     except
19       on e : Exception do
20       begin
21  ShowMessage(e.Message); 22       end; 23     end; 24     //获取网页返回的信息
25     ResponseStr := ResponseStream.DataString; 26     //网页中的存在中文时,须要进行UTF8解码
27     ResponseStr := UTF8Decode(ResponseStr); 28   finally
29  IdHttp.Free; 30  ResponseStream.Free; 31   end; 32 end;
View Code

若是Get须要添加请求参数,则直接在地址后添加,各参数间用&链接 
如:http://dict.youdao.com?param1=1&param2=2ide

---------------------------<><><><><><><><><><><>-----------------------------------------spa

---------------------------HTTP请求的GET方法----------------------------------------------.net

procedure PostDemo; var IdHttp : TIdHTTP; Url : string;//请求地址
  ResponseStream : TStringStream; //返回信息
  ResponseStr : string; RequestList : TStringList; //请求信息
 RequestStream : TStringStream; begin
  //建立IDHTTP控件
  IdHttp := TIdHTTP.Create(nil); //TStringStream对象用于保存响应信息
  ResponseStream := TStringStream.Create(''); RequestStream := TStringStream.Create(''); RequestList := TStringList.Create; try Url := 'http://f.youdao.com/?path=fanyi&vendor=fanyiinput'; try
      //以列表的方式提交参数
      RequestList.Add('text=love'); IdHttp.Post(Url,RequestList,ResponseStream); //以流的方式提交参数
      RequestStream.WriteString('text=love'); IdHttp.Post(Url,RequestStream,ResponseStream); except on e : Exception do
      begin ShowMessage(e.Message); end; end; //获取网页返回的信息
    ResponseStr := ResponseStream.DataString; //网页中的存在中文时,须要进行UTF8解码
    ResponseStr := UTF8Decode(ResponseStr); finally IdHttp.Free; RequestList.Free; RequestStream.Free; ResponseStream.Free; end; end;
View Code

Post请求在网页中多使用List形式提交参数。code

不过在一些API中规定了POST的请求格式为 JSON 格式或 XML,这是须要注意发起请求前须要先设置 ContentType 属性,使用Stream方式提交xml

已上面代码为例:对象

提交 JSON 格式:IdHttp.Request.ContentType :=’application/json’;blog

提交 XML 格式: IdHttp.Request.ContentType :=’text/xml’;

如未按要求格式提交,通常会返回 HTTP 1.1 / 415

---------------------------<><><><><><><><><><><>-----------------------------------------

相关文章
相关标签/搜索