Задать вопрос
@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);
  • Вопрос задан
  • 1555 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@slavabars
Веб программист
Убери urlencode
Ответ написан
Комментировать
Urvin
@Urvin
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

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

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

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