我正在尝试使用phantomjs的exmaple文件夹中的rasterize.js将网页捕获为PDF。我遇到的问题是网页需要用户登录。然后我看到Phantomjs有一个cookie选项。该网站是Django供电,以防万一。
所以我顽固地登录了网站,打开了萤火虫,并在萤火虫中输入了document.cookie
。我得到了cookie设置并放入了我的cookies.txt。
[http://localhost:7000]
csrftoken: f3da886168fae33b840e7f6c93240dff
sessionid: 27e90c3214b0ec94dadc739665724708
django_language: en
然后我使用rasterize.js创建如下的pdf:
phantomjs --cookies-file=cookies.txt examples/rasterize.js http://localhost:7000/reports /tmp/report.pdf
但结果仍然是登录页面。
答案 0 :(得分:6)
您是否尝试过自动化PhantomJS中的登录过程,确保包含cookie参数?通过这种方式,phantomjs可以像使用cookie一样对浏览器进行身份验证。
另一个选择是使用像fiddler这样的代理检查请求,比较从有效的firefox发出的请求和从未经过身份验证的phantomjs发出的请求。标题中的信息应告诉您缺少的内容。
您可以使用phantomjs提供的功能添加Cookie: