questa è una domanda su come a persistere i cookie da una pagina all'altra casperjs ..come persistere cookie tra i diversi processi casperjs
in modo sostanzialmente ho ottenuto un file nodejs che genera casperjs come un lavoratore di fare alcuni compiti. uno è quello di accedere, una volta effettuato l'accesso memorizzo il cookie in un file.
quando ho Spawn il prossimo operaio Casper .. voglio in modo da utilizzare al cookie piuttosto dover accedere di nuovo .. entrambi questi metodi fallito:
prima: quando depongono le uova le capserjs lavoratore I aggiungere il --cookies-file =/cookiefilename cioè var child = spawn('casperjs',['scrape.js','--cookies-file=./'+cookieFileName]);
secondo:. all'interno del file casperjs lavoratore .. mi rendono letto e impostato il cookie da un file ad esempio
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();
Note:
- Era mentioned in precedenza che
start
rimuove i cookie dalla pagina? se sì, come posso impedirlo? - So che le sessioni persistono all'interno dell'oggetto stessa pagina phantomjs (vedi qui https://gist.github.com/abbood/5347252) e lo stesso accade all'interno dell'oggetto stessa pagina casperjs (vedi qui https://gist.github.com/abbood/5347287)
- tenere a mente che devo conservare i cookie come è nel file (vale a dire senza alcun jSON/biscotto analisi a tutti) .. quindi il mio file cookie appare esattamente come questo
[Generale] cookie = "@ Variante (\ 0 \ 0 \ 0 \ x7F \ 0 \ 0 \ 0 \ x16QList \ 0 \ 0 \ 0 \ 0 \ x1 \ 0 \ 0 \ 0 \ n \ 0 \ 0 \ 0YCNTR = LB; scade = Mar, 09-Apr-2013 17:12:05 GMT; dominio = .recruiter.domain.com; path =/\ 0 \ 0 \ 0qUID = 13eb22f-2.21.171.120-1365523938; scade = Lun, 30-Mar-2015 16:12:18 GMT; domain = .dominio.com; path =/\ 0 \ 0 \ 0] UIDR = 1365523938; scade = Lun, 30-Mar-2015 16:12:18 GMT; dominio =. Dominio.com; path =/\ 0 \ 0 \ 0 [R_LANG = it; scade = Gio, 09-May-2013 16:16:06 GMT; domain = .recruiter.domain.com; path =/\ 0 \ 0 \ 0 \ x94 \ x43 = 4gpUmUGr2jgDrs4xOJVrGaNbD8DtYSd1E6quyLhe3E4F3EAGhbRJucnDgRVDeHh0; scade = Gio, 09-May-2013 16:16:06 GMT; dominio = .recruiter.domain.com; path =/\ 0 \ 0 \ 0 \ x94WT_FPC = id = 20cf093f17f2c6f3d041365495136954: lv = 1365495369854: ss = 1365495136954; scade = Ven, 07-Apr-2023 08:16:09 GMT; domain = .dominio.com; path =/\ 0 \ 0 \ 0 \ xc4 \ x41 \ x43OOKIE = C8ctADE3OC4xMzUuMTQ3LjM5LTI4NzQ5NzQ0LjMwMjkxMjYxAAAAAAAAAAABAAAAmyoBAMo + ZFHhPWRRAQAAAAJWAADKPmRR4T1kUQAAAAA-; scade = Gio, 09-Apr-2015 16:16:10 GMT; domain = statse.domain.com; path =/\ 0 \ 0 \ 0Yv1st = CE061E87215F2D73; scade = Mer, 19-Feb-2020 14:28:00 GMT; domain = .dominio.com; path =/\ 0 \ 0 \ 0 \ x84 \ x43OOKIE_ID = 178.135.147.39-2368749744.30291261; scade = Ven, 07-Apr-2023 16:16:11 GMT; domain = cookie.domain.com; path =/DCS000065_7K5I \ 0 \ 0 \ 0 \ xbe \ x41 \ x43OOKIE = C8ctADE3OC4xMzUuMTQ3LjM5LTIzNjg3NDk3NDQuMzAyOTEyNjEAAAAAAAABAAAAQQAAAM0 + ZFHNPmRRAQAAAAEAAADNPmRRzT5kUQAAAAA-; scade = Ven, 07-Apr-2023 16:16:13 GMT; domain = cookie.domain.com; Path = /)"
Suoni come questo _potere_ essere un bug. Potrebbe valere la pena pubblicare sulla [pagina CasperJS Google Gruppi] (https://groups.google.com/forum/#!forum/casperjs) se non l'hai già fatto. – thealexbaron
Inoltre, sei sicuro che i cookie vengano letti e analizzati correttamente? – thealexbaron
@thealexbaron Ho fatto [portare] (https://github.com/n1k0/casperjs/issues/175) il problema con Niko, il fondatore di Casper, ancora in attesa della sua risposta .. ma questo è un buon punto che hai fatto per assicurarmi che il cookie sia letto e analizzato con successo .. non sono esattamente sicuro (come in cima alla mia testa) come farlo .. fammi sapere se hai dei suggerimenti .. ma scaverò più a fondo in quello – abbood