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

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

相關文章
相關標籤/搜索