如何使用 CURL 在 PHP 中发送 JSON POST 请求?

Mary-Kate Olsen
发布: 2024-11-13 12:27:02
原创
576 人浏览过

How to Send JSON POST Requests in PHP using CURL?

在 PHP 中发出 JSON POST 请求

使用 JSON 数据发送 POST 请求是 Web 开发中的常见任务。在 PHP 中,CURL 是处理这些请求的优秀库。

示例代码

以下 PHP 代码演示了如何使用 CURL 发送 JSON POST 请求:

$url = "your url";
$content = json_encode("your data to be sent");

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 201 ) {
    die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}

curl_close($curl);

$response = json_decode($json_response, true);
登录后复制

代码说明

  • curl_init() 初始化 CURL 会话。
  • curl_setopt() 设置会话的各种选项,例如:

    • CURLOPT_HEADER:禁用标头输出。
    • CURLOPT_RETURNTRANSFER:以字符串形式返回响应,而不是回显它。
    • CURLOPT_HTTPHEADER:将“Content-type”标头设置为“application/json”。
  • curl_setopt() 设置 POST 参数。
  • curl_exec() 执行 CURL 请求。
  • curl_getinfo( ) 检索 HTTP 状态代码。
  • curl_close() 关闭 CURL 会话。

如果 HTTP 状态代码不是 201(已创建) ,会抛出错误。

  • json_decode() 解析 JSON 响应。

以上是如何使用 CURL 在 PHP 中发送 JSON POST 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板