在CasperJS中为请求设置cookie

hua*_*cnc 7 javascript cookies phantomjs casperjs

我想使用CapserJS加载页面,但是如何发送从该页面的chrome的http请求标头导出的cookie?

如:

"SUB = _2AkMjHt3gf8NhqwJRmPkQzG_qZIp_yA3EiebDAHzsJxJTHmMJ7IUyLkMN2K7WzRJvm-Tv3YY0xyZo; SUBP = 0033WrSXqPxfM72-Ws9jqgMF55529P9D9WhCT_2hbJ1W1Cc4xfF-mFPo;"

Art*_* B. 6

有多种方法,但最简单的方法是使用PhantomJS提供的函数page.addCookiephantom.addCookie函数,但您必须设置域(和路径).请记住,page.addCookie必须在加载的页面phantom.addCookie上完成,而以前可以完成.

var cookie = "someCookieName=Value; otherName=Value";
var domain = "example.com";
cookie.split(";").forEach(function(pair){
    pair = pair.split("=");
    phantom.addCookie({
      'name': pair[0],
      'value': pair[1],
      'domain': domain
    });
});

casper.start("http://example.com", function(){
    // check that cookie was indeed set:
    this.capture("screen.png");
}).run();
Run Code Online (Sandbox Code Playgroud)