最佳解决方案

最佳解决方案

我想下载一个只能通过我的用户名和密码访问的论坛。

我尝试了以下操作:

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

使用 登录 镜像网站很困难wget。您需要专业知识才能使用wget。目前,您需要传递用户名和密码、cookie 和所需的开关。
其他要做的事情。1
. 避免镜像,直到一切正常,因为递归下载页面会强制网络服务器将您的 IP 添加到黑名单。(尝试保存单个页面)
2. 伪造 wget 作为浏览器,因为大多数网络论坛都讨厌下载管理器。请参阅回答以获取更多信息。

最佳解决方案

镜像此类站点的最好和最简单的方法是使用**剪贴簿**。这是一个 Firefox 插件。您需要做的就是启动 Firefox,登录网站,右键单击 -> 将页面另存为,按域过滤。查看回答如何有效地镜像一个站点。

答案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”)

相关内容