在开始提问之前,我想说类似的问题帮助我完成了初始登录。我的问题如下所述。
我正在尝试镜像一个网站。这是我有帐户的东西。我使用 wget 作为我选择的工具。我尝试了curl,但发现虽然提交post数据很容易,但wget更适合手头的任务。
该网站有一个重定向到的初始登录页面。之后,您就可以访问网站上的所有内容。登录在这么长时间后确实超时,但仅此而已。
使用下面的 wget 命令,我能够成功保存我的 cookie、加载它们并下载所有子文件夹。然而,我的问题是每个孩子都有一个相同登录页面的index.html。这就像 cookie 对于根文件夹工作得很好,但在它下面什么也没有。
我使用的命令是:
wget http://site.here.com/users/login --save-cookies cookies.txt --post-data '[email protected]&password=*****&remember_me=1' --keep-session-cookies --delete-after
wget http://site.here.com/ --load-cookies cookies.txt --keep-session-cookies -r -np
请注意,后数据变量/ID 不同,我必须下载登录页面才能查看它们是什么。
其次,请注意,如果我没有将 Remember_me 值设置为 1,那么 cookies.txt 将会有所不同。
没有remember_me=1
.here.com TRUE / FALSE numbershere CAKEPHP garbagehere
记住我=1
site.here.com FALSE / FALSE numbershere CakeCookie[rememberme] garbage
.here.com TRUE / FALSE numbershere CAKEPHP garbagehere
结果是前者只会下载登录页面,而后者会下载所有子文件夹,仅包含包含登录索引的子文件夹,仅此而已。
我有点陷入困境,我对 wget 和 http 的经验非常有限。你会做什么来克服这个问题?为每个孩子生成一个cookie?您将如何自动化该操作,而不是为每个孩子手动创建 cookie 文件?
PS:如果这反映了我得到的答案,我正在使用Linux。