Wie zu verwenden Phantomjs' cookie-API?
Ich versuche zu verwenden rasterize.js aus dem phantomjs' Beispiel-Ordner zum erfassen einer web-Seite in PDF. Das problem, das ich habe ist, dass die web-Seite des Benutzers erfordert log-in. Dann sah ich es ist ein cookie-option für Phantomjs. Die Website ist Django powered-nur für den Fall ist es wichtig.
Also habe ich auf der Website angemeldet mannhaft, öffnete die firebug, und tippte document.cookie
im firebug. Ich habe die cookie-Einstellungen und setzen Sie sich in meine cookies.txt.
[http://localhost:7000]
csrftoken: f3da886168fae33b840e7f6c93240dff
sessionid: 27e90c3214b0ec94dadc739665724708
django_language: en
Dann habe ich die rasterize.js um das pdf zu erstellen, wie unten:
phantomjs --cookies-file=cookies.txt examples/rasterize.js http://localhost:7000/reports /tmp/report.pdf
Aber das Ergebnis ist immer noch der log-in-Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, die Automatisierung der login-Prozess, in PhantomJS, machen Sie sicher, dass cookies param? Auf diese Weise phantomjs kann die Authentifizierung des Benutzers nur wie ein browser mit cookies.
Weitere option wäre zu prüfen die Anfragen über einen proxy wie fiddler, vergleichen Sie die Anfrage aus firefox, das funktioniert und die Anforderung von phantomjs, dass ist nicht authentifiziert. Die Informationen in der header sollte Ihnen sagen, was Sie vermissen.
Hinzuzufügen, können Sie cookies über die Funktion phantomjs bietet:
http://phantomjs.org/api/webpage/method/add-cookie.html
{'csrftoken':'', 'sessionid':''}
. Irgendwelche Ideen? Dankphantom.addCookie({'domain':'localhost', 'csrftoken':'f3da886168fae33b840e7f6c93240dff'});