これは、ある casperjs ページから別の casperjs ページに Cookie を永続化する方法に関する質問です。
基本的に、特定のタスクを実行するワーカーとしてcasperjsを生成するnodejsファイルを取得しました.1つはログインすることで、ログインするとCookieをファイルに保存します。
次のキャスパーワーカーを生成するとき..再度ログインするのではなく、Cookieを使用したい..これらの方法は両方とも失敗しました:
最初:ワーカー capserjs を生成するときに、 --cookies-file=./cookiefilename ie を追加します
var child = spawn('casperjs',['scrape.js','--cookies-file=./'+cookieFileName]);
2番目: casperjsワーカーファイル内..ファイルからCookieを読み取って設定します。
var casper = require('casper').create();
var cookieFileName = 'monsterCookie.txt';
// grab cookies from file
var fs = require('fs');
var utils = require('utils');
var cookies = fs.read(cookieFileName);
casper.page.setCookies(cookies);
casper.start('domain/page.html', function() {
//FAIL! cookies aren't used here
this.debugHTML();
});
casper.run();
ノート:
- ページから Cookieを削除することは以前に言及されましたか?
start
もしそうなら、どうすればそれを防ぐことができますか? - セッションが同じ phantomjs ページ オブジェクト内で持続し (こちらを参照https://gist.github.com/abbood/5347252 )、同じ casperjs ページ オブジェクト内で同じことが発生することを知っています (こちらを参照https://gist.github.com/ abbood/5347287 )
- クッキーをファイルにそのまま保存することに注意してください(つまり、json / cookieの解析はまったく行わないでください)..したがって、クッキーファイルは次のようになります
path=/\0\0\0\xc4\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTI4NzQ5NzQ0LjMwMjkxMjYxAAAAAAAAAAABAAAAmyoBAMo+ZFHhPWRRAQAAAAJWAADKPmRR4T1kUQAAAAAA-; expires=2015 年 4 月 9 日木曜日 16:16:10 GMT; ドメイン=statse.domain.com; path=/\0\0\0Yv1st=CE061E87215F2D73; expires=2020 年 2 月 19 日水曜日 14:28:00 GMT; ドメイン=.domain.com; path=/\0\0\0\x84\x43OOKIE_ID=178.135.147.39-2368749744.30291261; expires=2023 年 4 月 7 日金曜日 16:16:11 GMT; ドメイン=cookie.domain.com; path=/DCS000065_7K5I\0\0\0\xbe\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTIzNjg3NDk3NDQuMzAyOTEyNjEAAAAAAAABAAAAQQAAAM0+ZFHNPmRRAQAAAAEAAADNPmRRzT5kUQAAAAAA-; expires=2023 年 4 月 7 日金曜日 16:16:13 GMT; ドメイン=cookie.domain.com; パス=/)」expires=2020 年 2 月 19 日水曜日 14:28:00 GMT; ドメイン=.domain.com; path=/\0\0\0\x84\x43OOKIE_ID=178.135.147.39-2368749744.30291261; expires=2023 年 4 月 7 日金曜日 16:16:11 GMT; ドメイン=cookie.domain.com; path=/DCS000065_7K5I\0\0\0\xbe\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTIzNjg3NDk3NDQuMzAyOTEyNjEAAAAAAAABAAAAQQAAAM0+ZFHNPmRRAQAAAAEAAADNPmRRzT5kUQAAAAAA-; expires=2023 年 4 月 7 日金曜日 16:16:13 GMT; ドメイン=cookie.domain.com; パス=/)」expires=2020 年 2 月 19 日水曜日 14:28:00 GMT; ドメイン=.domain.com; path=/\0\0\0\x84\x43OOKIE_ID=178.135.147.39-2368749744.30291261; expires=2023 年 4 月 7 日金曜日 16:16:11 GMT; ドメイン=cookie.domain.com; path=/DCS000065_7K5I\0\0\0\xbe\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTIzNjg3NDk3NDQuMzAyOTEyNjEAAAAAAAABAAAAQQAAAM0+ZFHNPmRRAQAAAAEAAADNPmRRzT5kUQAAAAAA-; expires=2023 年 4 月 7 日金曜日 16:16:13 GMT; ドメイン=cookie.domain.com; パス=/)」