假设,我们现在有一个API接口,地址如下:

    1. http://api.junphp.com/test/v1/zoos

    我们现在需要发送一个POST请求,传递参数ID过去,
    请求这个API让其DELETE对应的参数。
    同时这个接口需要sign验签与access_token凭证才能通过请求。
    下面我们就来完成这样的一个实例:
    1、先在/test/目录中,新建一个index.php文件,并写入以下代码:

    1. <?php
    2. # 1. 初始化
    3. $curl = curl_init();
    4. # 2. 设置请求信息
    5. # 设置API请求地址
    6. curl_setopt($curl, CURLOPT_URL, 'http://127.0.0.1/test/zoos.php');
    7. # 设置请求HTTP动词
    8. curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
    9. # 设置请求类型为POST
    10. curl_setopt($curl, CURLOPT_POST, true);
    11. # 设置请求参数
    12. curl_setopt($curl, CURLOPT_POSTFIELDS, ['id' => 1]);
    13. # 设置自定义请求头内容
    14. $header = [];
    15. $header[] = 'Access-token:zxc'; // 设置凭证
    16. $header[] = 'Sign:123'; // 设置签名
    17. $header[] = 'Content-type:application/json'; // 设置数据提交类型
    18. $header[] = 'Accept:application/json';
    19. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    20. # 关闭请求成功后自动输出的设置
    21. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    22. # 关闭回调内容中带请求头信息
    23. curl_setopt($curl, CURLOPT_HEADER, false);
    24. # 设置最大请求等待时间为60秒
    25. curl_setopt($curl, CURLOPT_TIMEOUT, 60);
    26. # 3. 执行请求
    27. $res = curl_exec($curl);
    28. # 4. 是否请求成功
    29. if ($res === false) {
    30. echo 'API请求失败,原因:'.curl_error($curl);
    31. }
    32. # 5. 释放curl句柄
    33. curl_close($curl);
    34. # 6. 查看回调结果
    35. echo $res;

    2、再在/test/目录中,新建一个zoos.php文件,并写入以下代码:

    1. <?php
    2. echo '<pre>';
    3. var_dump($_SERVER);

    运行index.php文件,查看案例结果。
    在$_SERVER超全局变量中,我们可以看出REQUEST_METHOD节点是用于记录HTTP动词的。