我正在尝试使用 phantomjs 的 exmaple 文件夹中的 rasterize.js 将网页捕获为 PDF。我遇到的问题是网页需要用户登录。然后我看到 Phantomjs 有一个 cookie 选项。该网站由 Django 提供支持,以防万一。
所以我勇敢地登录了该网站,打开了 firebug,然后输入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
但结果仍然是登录页面。
您是否尝试过在 PhantomJS 中自动化登录过程,并确保包含 cookies 参数?这样 phantomjs 就可以像浏览器一样使用 cookie 来验证用户身份。
另一种选择是使用像 fiddler 这样的代理来检查请求,比较从有效的 firefox 发出的请求和从未经身份验证的 phantomjs 发出的请求。标题中的信息应该告诉您缺少什么。
您可以使用phantomjs提供的功能添加cookie:
http://phantomjs.org/api/webpage/method/add-cookie.html http://phantomjs.org/api/webpage/method/add-cookie.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)