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を保存する為のオプションぽいので要注意。