我认为我发送的每个请求都是在没有cookie的情况下发送的。
当我听这样的onResourceRequested事件时:
this.page.onResourceRequested = function(request) {
utils.dump(request);
};
每个请求都有相同形式的标题:
"headers": [
{
"name": "User-Agent",
"value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
},
{
"name": "Accept",
"value": "text/css,*/*;q=0.1"
},
{
"name": "Referer",
"value": "https://some_site.com/page"
}
],
我从来没有得到应该在那里的cookie的标题..
当我尝试查看cookie时 - 我运行它:
utils.dump(this.page.cookies);
我得到了许多Cookie条目的列表。
我认为这在我的抓取脚本上给了我一些错误。
你的想法? 感谢。修改
我尝试发出POST请求来下载文件。 我可以登录网站,浏览几页,进入下载页面 - 然后,当我发送请求时,我收到一条消息"错误:要注册该网站,您必须启用浏览器接受cookies。"
这就是为什么它令人困惑 - 我可以登录并浏览网站(所以我必须传递一些cookie)但我无法下载(所以我可能没有这里的cookie ...)
答案 0 :(得分:0)
启动CasperJS以保存cookie(并在会话之间重复使用)时提供cookiejar。
命令行选项:
--cookies-file=/path/to/cookies.txt
完整:
$ casperjs --cookies-file=/path/to/cookies.text myscript.js
答案 1 :(得分:0)
使用命令行选项:
casperjs --cookies-file=/path/cookies.text script.js