23.5.4 客户端访问API

按RESTful规范开发API,又有详细的帮助文档,客户端的应用就相对容易一些。下面,以PHP作为访问接口的客户端,演示API的应用。在PHP中请求接口需要使用CURL发送HTTP请求,前面我们通过CURL封装了get和post两个HTTP函数,按RESTful API的规范还需要发送put、patch、delete等HTTP请求。我们在客户端创建一个client目录,并新建一个http.php文件,封装一个HTTP类,使用CURL实现所有HTTP的请求方法,代码如下所示:

在HTTP类中封装了get()、post()、put()和delete()这4种请求方法,只要在我们的应用程序中加载本类,并实例化一个HTTP类的对象,就可以直接使用这些方法请求API了。另外,在请求我们定义的接口时,还需要进行安全验证,所以需要在客户端编写一个和API服务器中一样的签名算法,创建一个func.inc.php文件,声明一个sign()函数,代码如下所示:

在func.inc.php文件中, 也将token在该文件中声明,用于生成签名,这个算法和API中的签名算法一定要一致。客户端需要的工具都准备完成后,新建一个app.php文件,按照WebAPI文档使用全部的接口,代码如下所示:

请求API后默认返回JSON格式数据,每个接口都是简单的模拟测试,可以在项目中通过表单添加和修改数据,也可将获取的数据遍历后使用HTML和CSS处理显示,本例执行后,输出API的访问结果如图23-12所示。

图23-12 输出API的访问结果

php get请求_《细说PHP》第四版 样章 第23章 自定义PHP接口规范 10相关推荐

  1. 机器人导论(第四版)学习笔记——第二章

    机器人学导论(第四版)学习笔记--第二章 2. 空间描述和变换 2.1 引言 2.2 描述:位置.姿态与位姿 2.3 映射:从一个坐标系到另一个坐标系的变换 2.4 算子:平行,旋转和变换 2.5 总 ...

  2. 机器人导论(第四版)学习笔记——第一章

    机器人学导论(第四版)学习笔记--第一章 1. 概述 1.1 背景 1.2 操作臂力学和控制 1.3 符号 1. 概述 1.1 背景 工业自动化的发展带来了工业机器人的高速发展.本书聚焦机械臂的力学和 ...

  3. 现代操作系统英文第四版课后习题答案——第二章

    @T现代操作系统第四版参考答案 现代操作系统英文第四版第二章参考答案--进程 先更新第二章的答案,习惯中文的童鞋请左转百度翻译 Solution for chapter 2 The transitio ...

  4. delphi 调用php接口_《细说PHP》第四版 样章 第23章 自定义PHP接口规范 5

    23.3 接口的安全控制规范 23.2节的示例实现了一个简单接口,但是这个接口此时是在"裸奔"的.因为这个接口所有人都可以请求,不仅我们的客户端可以正常访问数据,如果有人使用如fi ...

  5. php study 直接显示代码_《细说PHP》第四版 样章 第18章 数据库抽象层PDO 12

    18.9 管理表books实例 在Web项目中,几乎所有模块都要和数据表打交道,而对表的管理无非就是增.删.改.查等操作,所以熟练掌握对表进行管理的这些常见操作是十分有必的.本例为了能更好地展示PDO ...

  6. 《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习

    文章目录 一.Liux是什么?? 1.是操作系统or应用程序?? 2.Linux之前,Unix的历史 3.关于 GNU 计划.自由软件与开放原始码 二.Torvalds 的 Linux 发展 1.与 ...

  7. 汤晓丹的第四版计算机操作系统--第六章总结概述

    第六章 输入输出系统 1.对I/O设备进行控制:对I/O设备进行控制是驱动程序的功能. 目前对I/O设备有四种控制方式: ① 采用轮询的可编程I/O方式: ② 采用中断的可编程I/O方式: ③ 直接存 ...

  8. 计算机操作系统(第四版)知识点梳理——第一章

    计算机操作系统(汤晓丹) 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS结构设计 1.6 计算机硬 ...

  9. 《鸟哥的私房菜基础篇》第四版学习笔记——第0章 计算机概论

    文章目录 http://linux.vbird.org/linux_basic/ 一.计算机:辅助人脑的好工具 1.计算机硬件的五大单元 2.一切设计的起点: CPU 的架构 3.其它单元的设备 4. ...

最新文章

  1. php微信开发例子,微信开发实战之知乎日报
  2. UNIX再学习 -- 函数abort
  3. 解决XML中报“cvc-complex-type.2.4.a: Invalid content was found starting with element ”错误
  4. 贵州丹寨:庆苗年 迎新春
  5. openstreetmap_OpenStreetMap参加奥运会,SourceForge改造等
  6. C++函数和类的封装
  7. 时间变为.05PU sql长度写法
  8. 使用 Apache 来限制访问 Confluence 6 的管理员界面
  9. 密码货币量化基金突然很热,但你可知道成功有多难?
  10. 【IT之路】LoadRunner系列-Win7 64bit下搭建Loadrunner11破解版
  11. 自动驾驶仿真:角雷达坐标系转换详解
  12. 奥比中光深度摄像头_奥比中光:确认iPhone X前置3D深度摄像头采用结构光方案...
  13. H5游戏定制,分享专业的TOM游戏制作企业营销平台
  14. 人工智能/数据科学比赛汇总 2019.8
  15. 什么是数据库“存算分离”架构?
  16. git push提交成功后如何撤销回退
  17. Fiddler抓包简易教程
  18. 主板维修测试软件,维修主板的必备工具主板诊断卡的使用方法
  19. BUUCTF 每日打卡 2021-4-14
  20. 电竞英雄联盟数据API接口 - 【联赛列表】API调用示例代码

热门文章

  1. 大神手把手教你设计秒杀架构模型
  2. JEECG前后端分离UI框架实战抢先体验(ng2-admin+Angular4+AdminLTE+WebStorm)
  3. Create React App 2.0 华丽登场
  4. 【每天一个JQuery特效】淡入淡出显示或隐藏窗口(1)
  5. 12.14-Linux系统优化
  6. 【Log历练手册】Spring事务管理不能提交异常
  7. flex组件使用【PopUpButton】
  8. uboot支持S3C6410的SD启动
  9. 关于ireport制作报表模版时的一些注意
  10. 建筑工程项目管理信息化PM