使用 JSON 发送数据时,cURL php POST 错误标头

审查

我正在尝试使用带有 JSON 数据的 cURL 发布数据,并且我更改了标题,但出现错误,这是我的代码

public static function curlValidation($url, $params) {
    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HEADER, array("Accept:application/json", "Content-Type:application/json"));
    curl_setopt($ch,CURLOPT_POST, true);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $params);

    $result = curl_exec($ch);
    if($result === false)
        return curl_error($ch);

    curl_close($ch);
    return $result;
}

$params 值是 JSON

{
   "NIK":"123",
   "NAMA":"ASD",
   "TGL_LHR":"123",
}

并得到这样的错误

'HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
Access-Control-Allow-Headers: origin, x-requested-with, content-type
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 20 Sep 2021 02:07:58 GMT
Set-Cookie: SRVNAME=app05-nutanix; path=/

{\"msg\":\"Content type \'application/x-www-form-urlencoded;charset=UTF-8\' not supported\",\"error\":false}'
穆尔昆

这不起作用的原因是因为您在此行中有错误:

curl_setopt($ch,CURLOPT_HEADER, array("Accept:application/json", "Content-Type:application/json"));

您应该使用的常量是 CURLOPT_HTTPHEADER

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用PHP(cURL)中的post方法在带有标头的正文中发送JSON数据

PHP CURL使用POST原始JSON数据

使用POST的NodeJS Express身份验证发送后返回错误无法设置标头

使用 cURL 和 PHP 发送嵌套的 json post 请求很热

在表单提交 PHP 上使用 CURL 发送 JSON Post 请求

如何使用Curl发送空白的接受标头-PHP

php post无法使用标头和ajax

angularjs 在使用 POST 将数据发送到服务器时使 json 格式错误

节点js:HTTP POST:错误:发送标头后无法设置标头

使用授权标头时,CORS标头错误

使用JQuery Mobile使用PHP,POST和JSON将数据发送到服务器时出现问题

PHP 错误-无法修改标头信息-标头已发送

使用PHP的JSON POST

使用标头在Golang中发送POST请求

如何使用cURL发送带有正文,标头和HTTP参数的POST?

如何在使用$ .post来发送和接收数据到PHP以及完成和失败功能时读取JSON响应

使用PHP的POST CURL请求获取错误``未传递授权标头''-Envato API

PHP标头错误

如何修复PHP中的“标头已发送”错误

如何使用post方法(JSON)传递自定义标头并从服务器获取数据

如何使用JSON类型标头连接PHP

快速重定向错误:使用NodeJS和MySQL发送标头后,无法设置标头

在Grinder中发送JSON数据时发生POST错误

PHP Curl:无法发送额外的标头

带有 php curl 的 JSON POST 数据

使用Volley发送POST参数和标头时的代码响应代码400

在XLSX.utils.json_to_sheet中使用标头选项时,标头不被覆盖

使用PHP读取JSON POST

PHP不使用POST发送任何数据