如何使用Phantomjs的cookie API?

tma*_*ter 7 cookies phantomjs

我正在尝试使用phantomjs的exmaple文件夹中的rasterize.js将网页捕获为PDF.我遇到的问题是网页需要用户登录.然后我看到Phantomjs有一个cookie选项.该网站是Django供电,以防万一.

所以我顽皮地登录了网站,打开了萤火虫,并输入document.cookie了萤火虫.我得到了cookie设置并放入了我的cookies.txt.

[http://localhost:7000]
csrftoken: f3da886168fae33b840e7f6c93240dff
sessionid: 27e90c3214b0ec94dadc739665724708
django_language: en
Run Code Online (Sandbox Code Playgroud)

然后我使用rasterize.js创建如下所示的pdf:

phantomjs --cookies-file=cookies.txt examples/rasterize.js http://localhost:7000/reports /tmp/report.pdf
Run Code Online (Sandbox Code Playgroud)

但结果仍然是登录页面.

Jus*_*ell 6

您是否尝试过自动化PhantomJS中的登录过程,确保包含cookie参数?通过这种方式,phantomjs可以像使用cookie一样对浏览器进行身份验证.

另一种选择是使用像fiddler这样的代理检查请求,比较从有效的firefox发出的请求和从未经过身份验证的phantomjs发出的请求.标题中的信息应该告诉您缺少的内容.

您可以使用phantomjs提供的功能添加cookie:

http://phantomjs.org/api/webpage/method/add-cookie.html

  • AddCookie解决方案工作,我的坏它没有工作,我传入了错误的网址.谢谢. (2认同)