@khrigo

Как правильно отправить JSON POST-запросом?

Добрый день. Отправляю JSON POST-запросом и в итоге получаю пустой ответ. Подскажите, как правильно отправить запрос?

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;', 'Content-Length: ' . strlen(json_encode($params))));
curl_setopt($ch, CURLOPT_POST, 1);

$data_string = urlencode(json_encode($params));
curl_setopt($ch, CURLOPT_POSTFIELDS, array("data"=>$data_string));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);
die(var_dump($result));
curl_close($ch);
  • Вопрос задан
  • 1553 просмотра
Пригласить эксперта
Ответы на вопрос 2
@slavabars
Веб программист
Убери urlencode
Ответ написан
Комментировать
Urvin
@Urvin
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array("data"=>$data_string)));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы