PHP отправляет POST-запрос через curl

Мне нужно сделать запрос POST к внешнему http API с помощью curl. Когда я вызываю API с помощью командной строки curl, он возвращает правильные данные. Тем не менее, я изо всех сил пытаюсь получить правильные данные при вызове их из сценария php.

Когда я использую команду curl из терминала, я получаю правильные данные:

curl -i -H "Принять: application / json" -X POST -d "type_category_id = 4"http://example.com/api/

Какой правильный формат для CURLOPT_POSTFIELDS в моем curl_setopts () в php?

Я попробовал следующее (и не удалось):

<?php
$data = "type_category_id=4";

$ch = curl_init('http://example.com/api/');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);

$result = curl_exec($ch);
?>

Ответы на вопрос(1)

Ваш ответ на вопрос