有一个登录表单页面通常可以用如何下载登录后重定向的页面?
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。这是因为处理POST的URL通常会响应 ,并重定向到不需要或接受POST的常规页面。这不是 完全清楚,这种行为是最佳的;如果不能解决问题,可能会在将来更改 。
问题
可以这样使用Perl例如完成也许HTML::TreeBuilder 3
或HTML::TokeParser
或Mechanize
或任何其他Perl模块?
非常有趣。是否也可以镜像该网站?在我的例子中,我使用wget的'--no-parent -r --level = 2'。 – 2011-12-31 18:36:16
您的意思是递归下载从原始页面指向的所有页面?不,curl的no -r --level = 2等效,但是,API接口libcurl可以很容易地编程来解析html页面,并下载该页面中的所有链接。 Libcurl具有以下语言(以及更多)的绑定: @Motes,“-cookie-jar”C++,Java,Lisp,.NET,Object-Pascal,Pascal,Perl,PHP,Python,Ruby,Visual Basic – Motes 2012-01-02 03:28:18
@需要改成“--cookie-jar”,对吧? – Sathish 2012-05-26 03:25:45