我正在尝试使用prerender.io的本地安装来生成Angular.js webapp的静态快照。
webapp的后端使用会话cookie,该会话cookie在第一个请求上设置,并且在所有后续请求中都需要 - 如果没有发送,则请求失败(后端拒绝它们)。在普通浏览器中使用webapp时,这种方法很有效。
在prerender.js中,除了那些调用后端的请求之外,所有请求都有效 - 那些失败,因为显然phantomjs不发送cookie。
prerender.js不支持(或禁用)cookie是真的吗?如果是这样的话:我该怎样做才能启用它们?据我所知,Phantomjs支持cookie ...
答案 0 :(得分:4)
默认情况下,Cookie已关闭,因为大多数抓取工具都不使用Cookie,但对于因需要Cookie而导致网站无法正常工作的情况,您可以将COOKIES_ENABLED环境变量设置为true或通过在代码中创建prerender服务器时的选项:
var server = prerender({
cookiesEnabled: true
});