【问题标题】:cURL php POST error header when send data with JSON使用 JSON 发送数据时 cURL php POST 错误标头
【发布时间】:2021-11-13 19:26:09
【问题描述】:

我正在尝试使用带有 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}'

【问题讨论】:

标签: php curl http-headers php-curl


【解决方案1】:

尝试在您的函数中执行此操作 - 我认为您的标头数据已损坏:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);

根据您收到的消息,它说您发送的内容类型错误。

将函数中的卷曲线替换为这些或仅用本示例中的这 3 个 $headers 行替换您的 $headers 行。

【讨论】:

    【解决方案2】:

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

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

    你应该使用的常量是CURLOPT_HTTPHEADER

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 2018-06-13
      • 2010-11-08
      • 1970-01-01
      • 2014-12-12
      • 2012-10-17
      • 2014-03-25
      相关资源
      最近更新 更多