Я в процессе создания API, но столкнулся с некоторыми проблемами при тестировании cURL.Проблемы с заголовком cURL при публикации JSON
Мой код выглядит следующим образом:
$people = array(array('name' => urlencode('casper'),
'shoesize' => urlencode(41)
),
array('name' => urlencode('charlotte'),
'activated' => urlencode(1)
)
);
$data = http_build_query(array('data' => json_encode($people)));
$url = '...';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Content-Type: application/json',
'Connection: Keep-Alive'
));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
Способ по URL конечной точки просто возвращает $ _POST [ 'данные'].
Это работает до тех пор, пока я не установил свои заголовки в cURL. Без них данные передаются без проблем.
Что именно проблема? Вы упомянули, что он отлично работает без заголовков, но что с ними происходит? –
@JohnVanDeWeghe OP использует данные json, но не правильно отправляет json-данные. см. мой ответ ниже – alwaysLearn
Проблема в том, что мне нужны типы заголовков для правильной обработки запроса. Но при отправке данных в cURL отправка данных не производится. – Stromgren