PhontomJsでCookieを登録してアクセス
PhontomJsでCookieを登録してアクセスする。
環境
Windows10 cygwin phantomjs-2.1.1
プログラム
phantomjsのカレントディレクトリに移動してexamplesディレクトリにプログラム作成。
$ cd /cygdrive/c/phantomjs-2.1.1/ $ vi examples/cookie_test.js
処理部分抜粋
Cookieを登録
※expiresを指定するとCookie登録できなかったので削除した。
ar login1 = { 'name': 'Login.Test', 'value' : 'Cookie-Value', 'domain' : 'hogehoge.com', 'path': '/' } //登録できたか確認用 if (phantom.addCookie(login1)) { console.log('Cookie_login1 success') } else { console.log('Cookie Fail') }
Cookieを確認
var cookies = page.cookies; for (var i=1 ; i < cookies.length; i++){ console.log ( cookies[i].domain + " " + cookies[i].path + " " + cookies[i].name + " " + cookies[i].value) ; }
参考
http://phantomjs.org/api/webpage/method/add-cookie.html
phantomjs公式サイトだと以下のようになっているが、
expiresを指定するとCookie登録されないんだけど何故かは不明。
phantom.addCookie({ 'name' : 'Valid-Cookie-Name', /* required property */ 'value' : 'Valid-Cookie-Value', /* required property */ 'domain' : 'localhost', 'path' : '/foo', /* required property */ 'httponly' : true, 'secure' : false, 'expires' : (new Date()).getTime() + (1000 * 60 * 60) /* <-- expires in 1 hour */ });
ちなみに、phantomJs実行時のオプションで
--cookies-file=/path/to/cookies.txt
のようにCookieファイルを指定するオプションがあるが、
このオプションは登録するCookieのファイルでは無くて、
Cookieを保存する為のオプションぽいので要注意。