Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php curl post json

作者:农村混血兒   发布日期:2026-03-07   浏览:116

<?php

// 初始化 cURL 会话
$ch = curl_init();

// 设置请求的 URL
$url = "https://example.com/api/endpoint";

// 要发送的 JSON 数据
$data = array(
    "key1" => "value1",
    "key2" => "value2"
);

// 将数组转换为 JSON 格式
$jsonData = json_encode($data);

// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1); // 使用 POST 方法
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); // 设置 POST 数据
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // 设置 HTTP 头
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回响应而不是直接输出

// 执行 cURL 请求并获取响应
$response = curl_exec($ch);

// 检查是否有错误发生
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}

// 关闭 cURL 会话
curl_close($ch);

// 输出响应结果
echo $response;
?>

解释说明:

  1. 初始化 cURL 会话:使用 curl_init() 函数初始化一个新的 cURL 会话。
  2. 设置请求的 URL:将 API 的 URL 赋值给 $url 变量。
  3. 准备要发送的数据:创建一个关联数组 $data,并使用 json_encode() 将其转换为 JSON 格式的字符串。
  4. 设置 cURL 选项
    • CURLOPT_URL:设置目标 URL。
    • CURLOPT_POST:指定使用 POST 方法。
    • CURLOPT_POSTFIELDS:设置要发送的 POST 数据(即 JSON 字符串)。
    • CURLOPT_HTTPHEADER:设置 HTTP 头,指定内容类型为 application/json
    • CURLOPT_RETURNTRANSFER:确保 cURL 不直接输出响应,而是将其返回到变量中。
  5. 执行请求:使用 curl_exec() 发送请求,并将响应存储在 $response 变量中。
  6. 错误处理:检查是否有错误发生,并输出错误信息。
  7. 关闭 cURL 会话:使用 curl_close() 关闭 cURL 会话。
  8. 输出响应:最后输出从服务器接收到的响应。

上一篇:php grpc

下一篇:php 时间戳毫秒

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站