Как запросом получить изображение/другой файл



  • Как get запросом получить файл? Полностью повторяю запрос, которыц происходит в браузере, в БАС, но возвращает страницу с ошибкой



  • @DrPrime В HTTP есть экшн Скачать



  • @DrPrime Этому могут быть несколько причин.

    1. Файл доступен только зарегистрированным пользователям. Для этого нужно использовать "Загрузить cookies из браузера" перед Скачать.

    2. Не хватает каких-то хедеров. Нужно смотреть каких и устанавливать вручную через HTTP-Клиент Установить Заголовок.

    3. Не обязательно использовать хттп клиент, браузер тоже может качать файлы. Вот так вот БАС может скачать notepad++ и начать устанавливать. 0_1477834890182_downloadnotepad.xml

    4. Если речь идет об изображении, то возможно оно уже загружено и его можно получить из кеша. https://community.bablosoft.com/post/1440 вот пример получения всех картинок с сайта.



  • @support
    не подскажете как посмотреть, каких заголовков может не хватать?
    у меня задача такая: логинюсь в админку, там паршу список зип файлов, потом их нужно скачать. пытаюсь качать HTTP-Клиент -> Скачать.
    в итоге скачивается файл в 233 байта с содержимым:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /external.php?page=access&code=9 was not found on this server.</p>
    </body></html>

    понятно что нет доступа. незнаю как это должно работать, но я залогинен через бас, все равно куки еще загружаю перед скачиванием.
    если скачивать по вашему примеру с нотпадом, через Кликнуть - Ждать загрузки файла, то качается. Но вариант не подходит, т.к. файлов более 100 и я хочу это дело запихнуть в цикл, а не кликать на каждую ссылку в инстансе.

    сразу тут еще вопрос задам
    все ссылки идут с свойством nth-child(3), nth-child(4), nth-child(5), ... т.е. их можно все таки выцепить, поместить в цикл и кликать. я кликаю на первой ссылке, выбираю Для каждого элемента - Начать цикл. как мне далее реализовать клики по ссылкам в этом самом цикле? что-то типа такого, только чтобы работало :) может как то можно диапозон поставить в ntn-child(3-100) ?
    alt text

    если делаю внешний цикл for, то внутренний цикл для элементов ходит по одному и тому же cycle_index



  • @drobotenko

    понятно что нет доступа. незнаю как это должно работать, но я залогинен через бас, все равно куки еще загружаю перед скачиванием.
    если скачивать по вашему примеру с нотпадом, через Кликнуть - Ждать загрузки файла, то качается. Но вариант не подходит, т.к. файлов более 100 и я хочу это дело запихнуть в цикл, а не кликать на каждую ссылку в инстансе.

    Используйте "Загрузить cookies из браузера"



  • @drobotenko said in Как запросом получить изображение/другой файл:

    сразу тут еще вопрос задам
    все ссылки идут с свойством nth-child(3), nth-child(4), nth-child(5), ... т.е. их можно все таки выцепить, поместить в цикл и кликать. я кликаю на первой ссылке, выбираю Для каждого элемента - Начать цикл. как мне далее реализовать клики по ссылкам в этом самом цикле? что-то типа такого, только чтобы работало :) может как то можно диапозон поставить в ntn-child(3-100) ?

    http://community.bablosoft.com/post/8436



  • @drobotenko попробуй поставить юзерагент гугл бота



  • @artihorror
    не. там гуглбот не может ходить. это закрытая админка под паролем. помогло "Загрузить cookies из браузера"


Log in to reply
 

  • 9
  • 2
  • 20
  • 7
  • 3
  • 15
  • 3
  • 2