@Nikolaymac

Как отправить post CURL php?

APi Яндекса..
Как отправить вот такой запрос в php curl.
Генерируется файл csv все ок. Но запрос не верный получается у меня

$ch = curl_init( $url );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth TOKEN ','Content-Type: multipart/form-data',' Content-Disposition: form-data; name="file"; filename="filename="60dd9b67883a82f46127de3777d0c4aa.csv"'));
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HEADER, false);
        $response = curl_exec( $ch );


Пример от яндекс
POST api-audience.yandex.ru/v1/management/segments/uplo...
Content-Type: multipart/form-data; boundary=------------------------5b2a52c5c90f668a
Context-Length: 331

--------------------------5b2a52c5c90f668a
Content-Disposition: form-data; name="file"; filename="data.csv"
Content-Type: application/octet-stream

"email","phone","ext_id","key1","key2"
"abc@inbox.ru","111","1","q","w"
"abc@mail.ru","222","2","q","w"

--------------------------5b2a52c5c90f668a--
  • Вопрос задан
  • 1529 просмотров
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Не занимайтесь странными извращениями с некорректным формированием multipart/form-data, а дайте curl самому сформировать корректное сообщение.

curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new \CurlFile($file)
]);


Остальные параметры конструктора curlfile если нужны для апи.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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