![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Добрый день,
подскажите как посмотреть сразу все default_header (если такое возможно)
что то запутался... P.S. Вот сейчас еще покопался оказывается, что $ua -> agent; не тоже самое значение что $ua -> default_header ('User-Agent', 'bla-bla-bla'); тогда еще как весь $ua в таком случае просмотреть??? И вообще непонятно поможет ли мне подмена запроса для обмана javascript, который защищает PDF файлы на сервере. ведь к себе я их получаю, через get ($url, $file), а прямого $url на файл нет... Стянется файл ко мне после правильной подмены заголовков? Это сообщение отредактировал(а) burakov - 25.6.2010, 14:34 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
burakov, метод $ua->default_headers() возвращает объект класса HTTP::Headers. Если Вам нужно просто посмотреть поля заголовка, то в этом классе определен метод as_string(), который возвращает отформатированный заголовок в виде строки.
Судя по описанию модуля, если Вы явно не задавали $ua->agent(), то для поля User-Agent заголовка используется значение $ua->_agent(). Добавлено через 4 минуты и 33 секунды Скорее всего файл получить удастся, но лучше опишите задачу подробнее, чтобы можно было дать конкретные советы. Это сообщение отредактировал(а) ginnie - 25.6.2010, 14:43 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Описываю задачу
Есть ссылка вида http://classon.ru/fetch_download.php?mfile...41001299c1ffbfa при нажатии на которую скачивается файл, кроме всего прочего все это облачено в некую джава конструкцию, которая позволяет скачивать файлы, только при нажатии на ссылку мышкой... Товарищи с этого форума же... посоветовали мне отследить при помощи Tamper Data данные, которые реально пересылаются на сервер в момент нажатия... я это сделал и выяснил, что джава (или что то другое) добавляет заголовок Referer. При помощи этого же Tamper Data я руками подменил заголовок (скопировал ссылку в адресную строку броузера, затем Tamper Data запрос перехватил и я добавил referer) и запрос на скачивание файла выдался... Я подумал, раз выдался запрос, то возможно все сграбить в автоматическом режиме (в этом цель Копался копался с этим UserAgent полная картина в мозгу так у меня и не прояснилась еще где то прочитал, что UserAgent полностью позволяет моделировать собой броузер... Но броузер ведь запрашивает - скачать или нет файл, а я ничего подтверждать руками не хочу. вообщем вот пишу сейчас и понимаю - что несу полную чушь какую то .... Ну нет тут у меня понимания... Вот такая вот задача, достать файлы. |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
burakov, не волнуйтесь, задача обычная, ничего особо сложного в ней нет. Я вижу два этапа: 1. получить страницу со ссылкой 2. сформировать запрос и получить файл.
Насколько я понял, Вы сейчас как раз на втором шаге. Так как у Вас есть рабочий запрос, то Вам нужно лишь сделать его копию при помощи LWP::UserAgent. Для проверки правильного формирования запроса нужно использовать
Если возникнут сложности, пишите в чем затык, постараюсь помочь! -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Ура, получилось, хотя и не совсем так как посоветовали (просто у меня даже UserAgent без add_handler - со cpan.org поставить не смог по-новее - выдало какие то ошибки).
Но файлы стягиваются... вообщем для тех кто интересуется но не знает, все таки напишу как это заработало у меня - может кому понадобится - попроще делал так. 1. Узнал при при помощи firefox Tamper Data заголовок, который нужно передать серверу. 2.
Вопрос а как просмотреть $ua->default_header при помощи foreach ? (т.е. все сразу) (не применяя Dumper?) |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
А $ua->default_headers()->as_string() не работает? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |