Файл PHP cURL из Интернета в другой API в Интернете - PullRequest
0 голосов
/ 16 мая 2018

У меня проблема с получением файла с удаленного сервера в другое веб-приложение с помощью cURL. Когда я делаю запрос cURL, как показано ниже, я получаю ответ: «запрос не содержит никакого файла». У меня такое ощущение, что это потому, что я пытаюсь отправить файл в виде простой строки URL-адреса ... но я не знаю, почему это важно, потому что это все еще активный файл. Я не знаю, как добиться того, чего я хочу достичь.
Когда я пытаюсь сделать запрос в Postman, я сначала пытаюсь передать только строку url, но я получаю тот же ответ об ошибке «запрос не содержит файла», но потом, когда я изменяю тип в поле значения с текста чтобы файл и прикрепить случайный файл в Почтальон, запрос работает и прикрепляет файл к конечной точке. Проблема в том, что я не буду работать с файловыми потоками, я буду работать только с URL-адресами этих файлов, поэтому мне нужна помощь, чтобы переместить URL-адрес туда, куда он мне нужен. Вот запрос, который у меня есть сейчас: что мне нужно сделать, чтобы URL передавался как фактический файл ?

    $zohoDealId = $decodedResponse["data"][0]["details"]["id"];
    $curlPost = curl_init("https://www.zohoapis.com/crm/v2/Deals/$zohoDealId/Attachments");
    curl_setopt($curlPost, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data", "Authorization: $postDetails[post_auth_key]"));
    curl_setopt($curlPost, CURLOPT_POSTFIELDS, array("file" => "@" . realpath($fileToPost)));
    curl_setopt($curlPost, CURLOPT_RETURNTRANSFER, true);
    $fileResponse = curl_exec($curlPost);

1 Ответ

0 голосов
/ 16 мая 2018

Вы должны выполнить вызов PHP curl с помощью

curl_setopt($handle, CURLOPT_VERBOSE, true);

, который должен показать вам полный разговор http.

Затем вы можете сравнить все (заголовки, данные публикации и т. Д.) С успешнымзапрос сделан почтальоном.Тогда должно быть очевидно, в чем разница.

...