Задать вопрос
jamesgoodwin
@jamesgoodwin
Молодой разработчик

Почему CURL не формирует body?

История начинается с попытки послать файл сервису. Сервисом ожидается file(binary), поэтому делаю примерно следующее:
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
      'file' => new CurlFile($_FILES['image']['tmp_name'])
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

В ответ на подобный запрос сервис отвечает:
status":400,"error":"Bad Request","exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"Required request body is missing:


Чем может быть вызвано такое поведение?

Путь до $_FILES['image']['tmp_name'] вбивал вручную - не сильно изменило конечную ошибку. Может у кого-то есть мысли в какую сторону размышления направить и в чем ошибаюсь. Буду очень благодарен.

Версия php 5.5.9. Способ с "@".$_FILES['image']['tmp_name'] также имел место быть проверенным.
  • Вопрос задан
  • 634 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
glebovgin
@glebovgin
Full Stack Web Developer
1. Сервис ожидает единственное поле file? Других нет?
2. Если вместо $_FILES[] взять просто какой-то тестовый файл, что лежит, допустим, в одной директории со скриптом?
3. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true) пробуйте.
4. Смотрите подробнее curl_getinfo()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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