我想使用CapserJS加载页面,但是如何在该页面上发送从chrome的http请求标头导出的cookie?
如:
“SUB = _2AkMjHt3gf8NhqwJRmPkQzG_qZIp_yA3EiebDAHzsJxJTHmMJ7IUyLkMN2K7WzRJvm-Tv3YY0xyZo; SUBP = 0033WrSXqPxfM72-Ws9jqgMF55529P9D9WhCT_2hbJ1W1Cc4xfF-mFPo;”
答案 0 :(得分:6)
有多种方法,但最简单的方法是使用PhantomJS提供的page.addCookie
或phantom.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();
答案 1 :(得分:1)
您可以尝试直接设置Cookie标头:
casper.start().thenOpen('http://yoururl', {
headers:{ "Cookie" : "CookieName=cookieValue" }
}, function() {
// ...
});