За последние 24 часа нас посетили 22852 программиста и 1234 робота. Сейчас ищут 803 программиста ...

Отправить файл POST-запросом на другой ресурс

Тема в разделе "PHP для новичков", создана пользователем Валерий Е, 21 ноя 2018.

  1. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Здравствуйте! Требуется отправить картинку (из интернета) на другой ресурс с помощью запроса. Запрос оформляется с помощью API. Форма API известна.
    Где надо оформить этот запрос, в каком инструменте?
    Как отправить этот запрос?
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  3. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    В API:
    Content-Type: application/json
    Данные передаются по протоколу HTTP.
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Не понимаю. Что куда и как ты отправляешь? Если картинка на пк и нужно отправить на сервер значит нужно уставить multipart/form-data если вообще извращаться тогда можно картинку в data url конвертировать
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    @nospiou, то, что ты показал в первый раз, – это не отправка POST-запроса, а «обработка».
    --- Добавлено ---
    CURL?
     
  6. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @miketomlin ну так OH объяснил так и посоветовал.
    Можно и в курле. Можно формой в html можно ajax в js
     
    #6 nospiou, 21 ноя 2018
    Последнее редактирование: 21 ноя 2018
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Или прямо с формы? ХЗ, что такое «отправить картинку (из интернета)».
     
  8. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Картинка на Яндекс.Диске. Ссылка известна. Эту картинку необходимо загрузить на другой ресурс с помощью HTTP-запроса.
    Как узнал в интернете - можно курлом. Но не хочу из-за одной картинки устанавливать и изучать этот cURL.
    Есть-ли другие инструменты?
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Да, руки.
     
  10. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @Валерий Е На сервере в любом случаи должен быть скрипт. Если ты находишься на форуме пихапи значит скрипт на пихапи значит ответ то что я писал в самом начале. Можешь не постом а гетом.
    Код (Text):
    1. file_get_contents($_GET['link_to_img'])
    2. http://mysite.ru/upload.php?link_to_img=http://link_to_img
     
  11. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Пожалуйста, подробнее как отправить формой в html , ajax в js
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Использование POST может быть требованием API.
     
  13. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  14. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Вот про это и спрашиваю - как сделать это руками? Какой алгоритм действий?
     
  15. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    P.S. to @nospiou С формы можно сделать запрос напрямую к API, без своей прослойки.
     
  16. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @Валерий Е Ну мы же не знаем какое у тебя там апи насколько я понимаю его у тебя там нет:)
     
  17. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    @Валерий Е, изучайте API и как построить форму с соотв. параметрами, отправляемую методом POST.
     
  18. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Вот требуемая форма API:
    POST /api/v1/...

    Host: https://????.yandex.net
    Authorization: OAuth <OAuth-токен>
    Content-Type: application/json

    { "url": "<адрес изображения>" }
     
  19. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    Не, тогда только CURL.
     
  20. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  21. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    P.S. Форму для своего скрипта можете сделать.
     
  22. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  23. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Тогда я не понимаю, почему в API предлагаются 2 варианта:
    -этот, что показал,
    - и другой для курла:
    curl \
    -H 'Authorization: OAuth <OAuth-токен>' \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{ "url": "<адрес изображения>" }' \
    'https://???.yandex.net/api/v1/?????'
    --- Добавлено ---
    Форму оформить на своем сервере в отдельном файле?
    Как эту форму отправить?
    --- Добавлено ---
    нет это апи яндекс.диалогов
    --- Добавлено ---
    там требуется Guzzle. Я читал это сложнее курла.
     
  24. Валерий Е

    Валерий Е Активный пользователь

    С нами с:
    26 авг 2015
    Сообщения:
    67
    Симпатии:
    0
    Да, это хороший совет!
     
  25. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.794
    Симпатии:
    650
    А что вы показали? То был просто формат запроса. А далее вам, видимо, привели пример для curl'а и командной строки :)

    Да хоть на локалке. Главное, адрес обработчика укажите правильный. Есть такая магическая кнопка SUBMIT, слыхали? Хотя для своего скрипта можно использовать аякс и проч. приблуды. Это будет всего лишь морда для вашего основного скрипта.

    А чего вы хотели? Из вас даже название АПИ клешнями пришлось вытягивать.

    См., если АПИ требует ссылку именно на файл картинки, возможно, придется загружать через форму именно картинку, делать на нее пост. ссылку и хранить на своем сервере.
     
    Валерий Е нравится это.