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);
?>