7

phantomjs の exmaple フォルダーから rasterize.js を使用して、Web ページを PDF にキャプチャしようとしています。私が抱えている問題は、Web ページにユーザーのログインが必要なことです。それから、Phantomjs の Cookie オプションがあることがわかりました。Web サイトは、問題が発生した場合に備えて Django を使用しています。

そこで、私は慎重にサイトにログインし、firebug を開き、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

しかし、結果はまだログインページです。

4

1 に答える 1

6

PhantomJSでログインプロセスを自動化して、Cookieパラメータを含めるようにしましたか?このようにして、phantomjsは、Cookieを使用して、ブラウザと同じようにユーザーを認証できます。

もう1つのオプションは、fiddlerなどのプロキシを使用してリクエストを検査し、動作するFirefoxからのリクエストと、認証されていないphantomjsからのリクエストを比較することです。ヘッダーの情報は、不足しているものを示しているはずです。

phantomjsが提供する機能を使用してCookieを追加できます。

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

于 2013-01-08T20:56:40.393 に答える