PhantomJS未使用PHPSESSID cookie登录

时间:2013-08-13 14:38:12

标签: javascript session cookies webkit phantomjs

我想使用某个网站的PHPSESSID cookie来使用PhantomJS v1.9.1中的会话

例如,假设我要在PhantomJS中加载网站,例如http://example.com。我想在我的Chrome浏览器(我已经登录)PhantomJS中使用该网站的PHPSESSID cookie,以便使用相同的会话登录。

但出于某种原因,它似乎不起作用。

我确信该网站使用PHPSESSID Cookie,因为我检查了Chrome开发者控制台中的Cookie。我也使用那里的确切值。

这是我的代码:

phantom.addCookie({
    'name':     'PHPSESSID',
    'value':    'xxxxxxxxxxxxxxxxxxxx',
    'domain':   'example.com'
});

var page = require('webpage').create();
page.settings.userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36";
page.open('http://example.com', function () {
    page.render('screenshot.png');

    for(var i=0; i<phantom.cookies.length; i++)
        console.log(phantom.cookies[i].name+" = "+phantom.cookies[i].value);

    phantom.exit();
});

请注意,出于安全原因,我已将cookie值更改为“xxxxxxxxxxxxxxxxxxxx”,并将网站更改为“example.com”。

我已经测试了其他网站的脚本(复制相应的PHPSESSID值),甚至一次都没有工作。

它还会截取屏幕截图,显示登录屏幕(不是欢迎屏幕)。

我也打印出所有phantom.cookies,PHPSESSID就在那里!

为什么不起作用?我做错了吗?

干杯。

0 个答案:

没有答案
相关问题