title: how to persist cookies between different casperjs processes
body: <p>this is a question about how to persist cookies from one casperjs page to another.. </p>
  
  <p>so basically i got a nodejs file that spawns casperjs as a worker to do certain tasks.. one is to login, once logged in I store the cookie in a file. </p>
  
  <p>when i spawn the next casper worker.. i want it to to use the cookie rather having to login again.. both these methods <strong>failed</strong>:</p>
  
  <p><strong>first:</strong> when i spawn the worker capserjs I add the --cookies-file=./cookiefilename ie 
  <code>var child = spawn('casperjs',['scrape.js','--cookies-file=./'+cookieFileName]);</code></p>
  
  <p><strong>second:</strong> within the casperjs worker file.. I make it read and set the cookie from a file ie</p>
  
  <pre><code>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();
  </code></pre>
  
  <p><b>notes:</b></p>
  
  <ol>
  <li>it was <a href="https://github.com/n1k0/casperjs/issues/39">mentioned</a> earlier that <code>start</code> removes cookies from the page? if so how do I prevent that?<br></li>
  <li>I know that sessions persist within the same phantomjs page object (see here <a href="https://gist.github.com/abbood/5347252">https://gist.github.com/abbood/5347252</a>) and same happens within the same casperjs page object (see here <a href="https://gist.github.com/abbood/5347287">https://gist.github.com/abbood/5347287</a>)</li>
  <li>keep in mind that I store cookies as is in the file (ie without any json/cookie parsing at all).. so my cookie file looks exactly like this</li>
  </ol>
  
  <blockquote>
    <p>[General]
    cookies="@Variant(\0\0\0\x7f\0\0\0\x16QList\0\0\0\0\x1\0\0\0\n\0\0\0YCNTR=LB;
    expires=Tue, 09-Apr-2013 17:12:05 GMT; domain=.recruiter.domain.com;
    path=/\0\0\0qUID=13eb22f-2.21.171.120-1365523938; expires=Mon,
    30-Mar-2015 16:12:18 GMT; domain=.domain.com;
    path=/\0\0\0]UIDR=1365523938; expires=Mon, 30-Mar-2015 16:12:18 GMT;
    domain=.domain.com; path=/\0\0\0[R_LANG=en; expires=Thu, 09-May-2013
    16:16:06 GMT; domain=.recruiter.domain.com;
    path=/\0\0\0\x94\x43=4gpUmUGr2jgDrs4xOJVrGaNbD8DtYSd1E6quyLhe3E4F3EAGhbRJucnDgRVDeHh0;
    expires=Thu, 09-May-2013 16:16:06 GMT;
    domain=.recruiter.domain.com;
    path=/\0\0\0\x94WT_FPC=id=20cf093f17f2c6f3d041365495136954:lv=1365495369854:ss=1365495136954;
    expires=Fri, 07-Apr-2023 08:16:09 GMT; domain=.domain.com;
    path=/\0\0\0\xc4\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTI4NzQ5NzQ0LjMwMjkxMjYxAAAAAAAAAAABAAAAmyoBAMo+ZFHhPWRRAQAAAAJWAADKPmRR4T1kUQAAAAA-;
    expires=Thu, 09-Apr-2015 16:16:10 GMT; domain=statse.domain.com;
    path=/\0\0\0Yv1st=CE061E87215F2D73; expires=Wed, 19-Feb-2020 14:28:00
    GMT; domain=.domain.com;
    path=/\0\0\0\x84\x43OOKIE_ID=178.135.147.39-2368749744.30291261;
    expires=Fri, 07-Apr-2023 16:16:11 GMT; domain=cookie.domain.com;
    path=/DCS000065_7K5I\0\0\0\xbe\x41\x43OOKIE=C8ctADE3OC4xMzUuMTQ3LjM5LTIzNjg3NDk3NDQuMzAyOTEyNjEAAAAAAAABAAAAQQAAAM0+ZFHNPmRRAQAAAAEAAADNPmRRzT5kUQAAAAA-;
    expires=Fri, 07-Apr-2023 16:16:13 GMT; domain=cookie.domain.com;
    path=/)"</p>
  </blockquote>