3

我正在尝试使用本地安装的 prerender.io 来生成 Angular.js webapp 的静态快照。

webapp 的后端使用会话 cookie,该 cookie 在第一个请求中设置,并且在所有后续请求中都需要 - 如果未发送,则请求失败(它们被后端拒绝)。在普通浏览器中使用 webapp 时,这可以正常工作。

在 prerender.js 中,除了那些调用后端的请求之外,所有请求都有效——那些请求失败,因为显然 phantomjs 不发送 cookie。

prerender.js 不支持(或禁用)cookie 是真的吗?如果是这样:我该怎么做才能启用它们?据我所知,Phantomjs 支持 cookie...

4

1 回答 1

4

Cookie 默认关闭,因为大多数爬虫不使用 cookie,但是对于您的网站由于需要 cookie 而无法运行的情况,您可以将 COOKIES_ENABLED 环境变量设置为 true 或在创建预渲染服务器时传入该选项在您的代码中:

var server = prerender({
    cookiesEnabled: true
});
于 2015-01-09T17:11:59.730 回答