博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi IDHTTP控件:GET/POST 请求
阅读量:5916 次
发布时间:2019-06-19

本文共 2096 字,大约阅读时间需要 6 分钟。

最近一直在使用IDHTTP,下面是一些关于 GET、POST 请求基本使用方法的代码

一、GET 请求

procedure GetDemo;var  IdHttp : TIdHTTP;  Url : string;//请求地址  ResponseStream : TStringStream; //返回信息  ResponseStr : string;begin  //创建IDHTTP控件  IdHttp := TIdHTTP.Create(nil);  //TStringStream对象用于保存响应信息  ResponseStream := TStringStream.Create('');  try    //请求地址    Url := 'http://dict.youdao.com/';    try      IdHttp.Get(Url,ResponseStream);    except      on e : Exception do      begin        ShowMessage(e.Message);      end;    end;    //获取网页返回的信息    ResponseStr := ResponseStream.DataString;    //网页中的存在中文时,需要进行UTF8解码    ResponseStr := UTF8Decode(ResponseStr);  finally    IdHttp.Free;    ResponseStream.Free;  end;   end;

如果Get需要添加请求参数,则直接在地址后添加,各参数间用&连接

如:http://dict.youdao.com?param1=1&param2=2

二、Post 请求

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;

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

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

已上面代码为例:

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

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

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

转载于:https://www.cnblogs.com/marklove/p/9206832.html

你可能感兴趣的文章
使用nginx—搭建YUM仓库
查看>>
测试人员必学的软件快速测试方法(二)
查看>>
linux下以RPM包安装Oracle 客户端
查看>>
28. PowerShell -- 注册表操作
查看>>
搭建 android sdk环境
查看>>
LINUX常用的查看命令
查看>>
第14章 grep、sed、awk 正则表达式
查看>>
Game 游戏分类
查看>>
SCCM 2007 sp2 eva安装之一:sql server 2005安装及升级sp2
查看>>
电商企业适用基础快递接口对接demo
查看>>
通过chkconfig设置linux开机自启动服务- 老男孩Linux运维学习笔记1
查看>>
CENTOS 安装 jenkins
查看>>
iptables详解
查看>>
Kaptchar详细配置表
查看>>
Java程序员从笨鸟到菜鸟之(四十三)细谈struts2(六)获取servletAPI和封装表单数据...
查看>>
OSPF详述
查看>>
红黑树的原理分析和算法设计
查看>>
ant_Jmeter持续集成测试报告优化之添加throughput显示
查看>>
iostat介绍
查看>>
Linux计算字符串md5/sha1
查看>>