千家信息网

Delphi中怎么调用WebApi

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,Delphi中怎么调用WebApi,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Delphi调用WebApi时我们用到了IXMLHt
千家信息网最后更新 2025年01月31日Delphi中怎么调用WebApi

Delphi中怎么调用WebApi,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Delphi调用WebApi时我们用到了IXMLHttpRequest,在单元引用里面加上msxml即可.

调用起来非常简单,定义HttpReq: IXMLHttpRequest;

HttpReq := CoXMLHTTPRequest.Create;

HttpReq.open('Post', url, False, EmptyParam, EmptyParam);
上面的参数第一个就是用到的方法GET就写'Get',Post就写'Post',第二个是通讯地址,后面的就默认这样填写就到了

HttpReq.setRequestHeader('Accept', 'application/json');
HttpReq.setRequestHeader('Content-Type', 'application/json');

上面是设置请求头的格式


HttpReq.send(parasjson); //开始搜索
在Send里面,如果用的GET方法就直接填入EmptyParam,如果用的POST方法就在这里填入自己的JSON字符串

resultjson := HttpReq.responseText;

获取返回信息

GET方法必须注意一点

delphi用IXMLHttpRequest的GET方法时必须加上时间戳 '×tamp='+inttostr(Windows.GetTickCount),如果后面不加上时间戳,只会GET一次,不再请求GET了

自己封装的完整调用WebApi的单元

unit DoWebApi;

interface

uses
Variants, msxml, SysUtils, Windows;

//WebApi
//GET
function WebApiGet(url : string; var resultjson: string; parasstr:string=''): Integer;
//Post
function WebApiPost(url, parasjson: string; var resultjson: string): Integer;


implementation


//获取Get
//delphi用IXMLHttpRequest的GET方法时必须加上时间戳 '×tamp='+inttostr(Windows.GetTickCount)
//如果不加只会GET一次,不再GET了
// Added by Administrator 2016-09-23 16:17:08
function WebApiGet(url: string; var resultjson: string;parasstr:string=''): Integer;
var
transurl: string;
HttpReq: IXMLHttpRequest;
begin
if parasstr = '' then
transurl := url + '?timestamp=' + inttostr(Windows.GetTickCount)
else
transurl := url + '?' + parasstr + '×tamp=' + inttostr(Windows.GetTickCount);
Result := -1;
try
try
HttpReq := CoXMLHTTPRequest.Create;
HttpReq.open('get', transurl, False, EmptyParam, EmptyParam);

HttpReq.setRequestHeader('Accept', 'application/json');
HttpReq.setRequestHeader('Content-Type', 'application/json');

HttpReq.send(EmptyParam); //开始搜索

resultjson := HttpReq.responseText;
Result := 0;
except
Result := -1;
end;
finally

end;

end;

//Post
function WebApiPost(url, parasjson: string; var resultjson: string): Integer;
var
HttpReq: IXMLHttpRequest;
begin
Result := -1;
try
HttpReq := CoXMLHTTPRequest.Create;
HttpReq.open('Post', url, False, EmptyParam, EmptyParam);

HttpReq.setRequestHeader('Accept', 'application/json');
HttpReq.setRequestHeader('Content-Type', 'application/json');

HttpReq.send(parasjson); //开始搜索

resultjson := HttpReq.responseText;
Result := 0;
except
Result := -1;
end;
end;
end.

关于Delphi中怎么调用WebApi问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

方法 时间 问题 搜索 单元 更多 帮助 解答 易行 简单易行 信息 内容 参数 地址 字符 字符串 小伙 小伙伴 就是 格式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宝塔会偷取数据库 深圳智慧园区软件开发解决方案 网络安全及意识形态主题班会记录 机关单位网络安全宣传周活动计划 军营网络安全周活动总结 网络安全宣传教育绘画作品 wince系统应用软件开发方法 国内车联网软件开发公司 敏捷安全卫士查看服务器 信息技术或网络安全程序 web的网络安全教程 如何查看ftp服务器通没通 关键的网络安全风险要素 在jsp页面显示数据库信息 博兴crm软件开发价格 杭州软件开发定制哪家服务好 空间数据库原理与应用习题 ddos服务器收费 昵图网图片数据库管理系统 服务器搭建相册 网络技术速成的方法 昆明数据库试用 如何假设云服务器 白银软件开发培训学校 定位精灵无法连接服务器 软件开发买苹果什么型号 服务器长连接 安全隐患 网络安全与软件工程区别 宿州bim软件开发工程 钉钉用什么语言软件开发的
0