PHP CURL 使用 POST 原始 JSON 数据

标签 php json curl raw-post

我正在使用 PHP curl 进行发布,由于某种原因我无法成功发布表单。

$ch = curl_init();
$headers = [
            'x-api-key: XXXXXX',
            'Content-Type: text/plain'
        ];
$postData = array (
    'data1: value1',
    'data2: value2'
);
curl_setopt($ch, CURLOPT_URL,"XXXXXX");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);           
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$server_output = curl_exec ($ch);

当我尝试在帖子中使用相同的方法时,它有效,但不适用于 PHP。

var_dump($server_output) ==> string(67) ""require data1 and data2 or check the post parameters""
var_dump(curl_error($ch)) ==> string(0) ""

最佳答案

如果你想使用Content-type: application/jsonraw 数据,看起来你的数据应该是json 格式

$ch = curl_init();
$headers  = [
            'x-api-key: XXXXXX',
            'Content-Type: application/json'
        ];
$postData = [
    'data1' => 'value1',
    'data2' => 'value2'
];
curl_setopt($ch, CURLOPT_URL,"XXXXXX");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));           
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result     = curl_exec ($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

关于PHP CURL 使用 POST 原始 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882777/

相关文章:

php - Laravel:内部连接 ​​QueryException

java - 如何在 Java 项目中使用 Java EE API?

php - 通过值排序php mysql

php - 分形 laravel 变压器中的条件属性

ios - Swift 如何更新(修改、删除、添加)JSON 条目

MySQL json 错误 rails_workflow gem

java - curl 命令行与 HttpURLConnection API 服务调用响应时间差异

php - 使用 cURL 发布数据时出现 "Positional Parameter"错误

php - 使用 cURL php 抓取图像

php - 如何在 PHP 中使用亚马逊的 API 来搜索书籍?