PHP api cURL POST 如何获得响应?

分享于2023年02月01日 api curl php 问答
【问题标题】:PHP api cURL POST How to get response?PHP api cURL POST 如何获得响应?
【发布时间】:2023-01-29 20:53:00
【问题描述】:

我正在尝试使用 cURL 通过 POST 请求验证 api 数据,但没有得到任何响应。 API documentation

 array(
    "apiKey" => "XXXXXX",
    "id" => "9346",
    )
);

$encoded = json_encode($data);
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$resp = curl_exec($ch);

$decoded = json_decode($resp);
print_r($decoded);

curl_close($ch);

?>

有谁知道出了什么问题?

  • $decoded = json_decode($resp); 你确定你收到的是有效的 JSON 吗?请做一个 var_dump($resp)
  • 尝试添加这个选项: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

【解决方案1】:

解决方案: 原来我缺少 CURL_HTTPHEADER。

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

【讨论】: