假设,我们现在有一个API接口,地址如下:
http://api.junphp.com/test/v1/zoos
我们现在需要发送一个POST请求,传递参数ID过去,
请求这个API让其DELETE对应的参数。
同时这个接口需要sign验签与access_token凭证才能通过请求。
下面我们就来完成这样的一个实例:
1、先在/test/目录中,新建一个index.php文件,并写入以下代码:
<?php
# 1. 初始化
$curl = curl_init();
# 2. 设置请求信息
# 设置API请求地址
curl_setopt($curl, CURLOPT_URL, 'http://127.0.0.1/test/zoos.php');
# 设置请求HTTP动词
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
# 设置请求类型为POST
curl_setopt($curl, CURLOPT_POST, true);
# 设置请求参数
curl_setopt($curl, CURLOPT_POSTFIELDS, ['id' => 1]);
# 设置自定义请求头内容
$header = [];
$header[] = 'Access-token:zxc'; // 设置凭证
$header[] = 'Sign:123'; // 设置签名
$header[] = 'Content-type:application/json'; // 设置数据提交类型
$header[] = 'Accept:application/json';
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
# 关闭请求成功后自动输出的设置
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
# 关闭回调内容中带请求头信息
curl_setopt($curl, CURLOPT_HEADER, false);
# 设置最大请求等待时间为60秒
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
# 3. 执行请求
$res = curl_exec($curl);
# 4. 是否请求成功
if ($res === false) {
echo 'API请求失败,原因:'.curl_error($curl);
}
# 5. 释放curl句柄
curl_close($curl);
# 6. 查看回调结果
echo $res;
2、再在/test/目录中,新建一个zoos.php文件,并写入以下代码:
<?php
echo '<pre>';
var_dump($_SERVER);
运行index.php文件,查看案例结果。
在$_SERVER超全局变量中,我们可以看出REQUEST_METHOD节点是用于记录HTTP动词的。