我想下载一个只能通过我的用户名和密码访问的论坛。
我尝试了以下操作:
C:\wget.exe wget -k -m -E -p -np -R viewtopic.php*p=*,memberlist.php*,faq.php*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* -o log.txt http://www.myforum1234.com/forum/categories/discussions
所以这是我在 cmd 中输入的命令。因为当我单击 wget.exe 时会出现一个黑色窗口,但很快就会消失。但我认为这也是正确的方法(我使用 Windows XP)?
我的问题是,结果显示 wget 无法下载论坛,因为它无法登录。因此,登录页面显示(下载),但仅此而已。当我执行命令时,我已经登录。
我不是 wget 专业人士,所以我不确定我的命令是否正确?我从另一篇文章中复制了这个。一个简单的命令C:\wget.exe wget http://www.theforumurl.com
不起作用。
编辑:
我现在也尝试过
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions
但这里也存在同样的问题。
第二次编辑关于第一条评论中的链接:
我现在尝试过
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions --post-data="username&password=1234"
但同样存在同样的问题!
当我将鼠标悬停在登录按钮上时,我可以看到以下 URL:
http://www.myforum.com/user/popupLogin
我必须用这个吗?
第三次编辑:
我还尝试在 www. 之前添加用户名:密码@,如下所示:
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://user:[email protected]/forum/categories/
结果是一样的,我可以看到登录没有成功。
第四次编辑:
我也尝试过此主题:
C:\wget.exe wget --save-cookies cookies.txt --post-data 'user=usern&password=passw' http://www.myforum.com/user/popupLogin
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
但同样存在同样的问题!!
第五次编辑:
我认为我现在已经分离出登录按钮的源代码:
<div class="forumSignup">
<a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>
第六次编辑:
我也尝试使用 HTTrack,但问题是一样的:登录不起作用。另一个问题似乎是论坛本身使用 URL www.mywebsite.com/forum,但 www.mywebsite.com 需要登录。因此,当我使用用户名之类的内容时:[电子邮件保护]mywebsite 被捕获,但论坛未被捕获。当我使用用户名时:[电子邮件保护]/forum 登录不起作用并且没有捕获任何内容。
答案1
首先,你会这样做C:\wget.exe -k -m …
,不要重复wget
名字。
由于登录论坛看起来很复杂(即使对于简单的网站来说也可能变得复杂),最好的解决方案可能是使用浏览器登录,然后将 cookies* 提供给 wget(放入文件中并使用--load-cookies
或直接传递它们--header "Cookie: name=value"
)。
* 提取方式根据您的浏览器略有不同。
答案2
Wget 解释<pass>@serveraddress
为端口。
要指定用户名和密码,请使用--user
和--password
开关:
wget --user username --password passw http://...
答案3
答案4
如果您有权在浏览器上访问 cookie 数据(Firefox 在选项->隐私下有自己的 cookie 浏览器,但也有插件可以简化此任务),手动登录论坛,搜索该域的所有 cookie 并将它们存储在 cookies.txt 文件中,它可能会与您之前的命令一起使用:
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
有些登录页面过于复杂,无法通过单个命令行尝试执行任务。
请记住包含整个域的所有 cookie(搜索“myforum.com”,而不仅仅是“www.myforum.com”)