在我开始提问之前,我想说一个类似的问题帮助我通过了初始登录。我的问题如下所述。
我正在尝试镜像一个网站。这是我有帐户的东西。我使用 wget 作为我选择的工具。我尝试了 curl,但发现虽然提交帖子数据很容易,但 wget 更适合手头的任务。
该网站有一个重定向到的初始登录页面。在此之后,您可以访问网站上的所有内容。这么长时间后登录确实超时,但就是这样。
使用下面的 wget 命令,我能够成功保存我的 cookie、加载它们并下载所有子文件夹。然而,我的问题是每个孩子都有一个相同登录页面的 index.html。就像 cookie 在根文件夹中运行良好,但在它下面什么都没有。
我使用的命令是:
wget http://site.here.com/users/login --save-cookies cookies.txt --post-data 'email=example@test.com&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
与 remember_me=1
site.here.com FALSE / FALSE numbershere CakeCookie[rememberme] garbage
.here.com TRUE / FALSE numbershere CAKEPHP garbagehere
结果是前者只会下载登录页面,而后者只会下载所有子文件夹,只有包含登录索引的子文件夹,仅此而已。
我有点卡住了,我对 wget 和 http 的经验非常有限。你会怎么做才能克服这个问题?为每个孩子生成一个 cookie?您将如何自动化而不是手动为每个孩子创建一个 cookie 文件?
PS:如果这反映了我给出的答案,我正在使用 Linux。