Загрузка картинок на фотохостинг методом GET/POST (РЕШЕНО)



  • Приветствую уважаемые участники форума!

    Постепенно продвигаюсь вперед в вопросе изучения этого офигенного софта! И в этот раз у меня вопрос такой: как правильно отправить картинку на фотохостинг https://vfl.ru/ с помощью GET/POST запросов? Почему именно на этот фотохостиг - потому что ссылки с этого фотохостинга поддерживаются сайтом, на который я их буду публиковать.

    Моя проблема в том, что я не понимаю что именно нужно менять в конструкторе POST... Может быть кто-то смог бы глянуть и дать пример рабочего проекта? Или хотя бы подсказать словами, что именно мне нужно заменять?

    UPD:

    Сделал, спасибо форуму и методу тыка хD

    В общем, расскажу примерный план если кто-то захочет сделать подобное.

    1. Включаем запись запросов.
    2. Ручками загружаем фото (в обычном формате)
    3. Удаляем лишние GET и POST запросы (будут ненужные элементы)
    4. Открываем первый POST запрос (их количество может быть разное, в зависимости от метода загрузки на обменнике)
      Видим примерно такую картину:

    b8fbfb88-46e3-4dc1-8a6b-0b5ef61fb5f5 - это код кнопки загрузки
    1707.jpg - это название картинки
    159720 - это размер

    Из этого списка нас интересуют вот эти строки:
    1) ------WebKitFormBoundaryUAA8aUKwMXSQEYzn
    2) Content-Disposition: form-data; name="qqfile"; filename="1707.jpg"
    Content-Type: image/jpeg

    ------WebKitFormBoundaryUAA8aUKwMXSQEYzn - это рандомный код (хз за что он там отвечает, знатоки подскажут если что). В нем мы меняем вот эту часть: ------WebKitFormBoundary {UAA8aUKwMXSQEYzn} Просто создайте рандомную строку с нужным количеством символом и вставляйте эту переменную сюда.

    Content-Disposition: form-data; name="qqfile"; filename="1707.jpg"
    Content-Type: image/jpeg

    Здесь мы меняем filename; после строки Content-Type: image/jpeg оставляем пробел и вставляем вот такую строку: base64:[[FILE_CONTENT]] На выходе это выглядит так:

    Файл контент - это наше изображение, загруженное в формате base64.

    Далее, второй POST запрос (в моем примере это отправка подгруженного изображения на сайт). Там мы меняем только имя файла.

    Вот и все. Теперь выполняем запросы и чекаем анализатор. С помощью действия "Содержание ответа" получаем содержание ответа хD И достаем нужные данные хоть через xpath, хоть через строки, как угодно.

    Топорный гайд получился, но может кому-то поможет.



  • @Вениамин said in Загрузка картинок на фотохостинг методом GET/POST:

    Моя проблема в том, что я не понимаю что именно нужно менять в конструкторе POST

    Включи "запись запросов" , вручную загрузи картинку и колдуй над своим POST запросом



  • @serrgo что-то не могу сообразить. Сделал запись запросов, получилась такая вот штука:

    То что под спойлером - это POST, который мы передаем во время нажатия на кнопку "выбрать фото".

    Подскажите, как мне переделать запрос? Я так понимаю надо делать через конструктор? Но какие данные тогда оставить? Я прост по-разному уже пробовал и не получается. Если указываю "Content-Disposition: base64:[[FILE_CONTENT]]", то при отправке запроса в анализе трафика получаю в отправленном: �PNG
    , а в ответе: {"error":"File name empty.","uploadName":null}



  • @Вениамин said in Загрузка картинок на фотохостинг методом GET/POST:

    Я так понимаю надо делать через конструктор?

    Зачем? У тебя кубик готовый с запросом получился? Меняешь там нужные данные на переменные свои



  • Обновил первый пост, может кому-то будет полезно.


Log in to reply