Как загрузить страницы, которые перенаправляют после входа?

Обычно страницы, на которых есть форма входа, можно загрузить с помощью

wget --no-check-certificate --save-cookies cookies --keep-session-cookies \
     --post-data="username=example&password=example" \
     "https://example.com/index.php?title=Special:Userlogin&returntotitle="

wget --no-check-certificate --load-cookies=cookies \
     --no-parent -r --level=2 -nc -E \
     https://example.com/Special:Sitemap

Но в случае с сайтами DekiWiki это не работает, если требуется вход.

Проблема, похоже, описана в man wget

Примечание: если Wget перенаправляется после завершения POST-запроса, он не будет отправлять POST-данные на перенаправленный URL. Это связано с тем, что URL, обрабатывающие POST, часто отвечают с перенаправлением на обычную страницу, которая не желает или не принимает POST. Не совсем не совсем ясно, является ли такое поведение оптимальным; если оно не сработает, оно может быть изменено в будущем.

Вопрос

Можно ли это сделать с помощью Perl, например, с помощью HTML::TreeBuilder 3 или HTML::TokeParser или Mechanize или любого другого модуля Perl?

5
задан Sandra Schlichting 31 December 2011 в 18:31
поделиться