1

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

例如,假设我想在 PhantomJS 中加载一个网站,例如http://example.com。而且我想在 PhantomJS 中使用我的 Chrome 浏览器(我已经登录的地方)中的网站的 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 就在那里!

为什么它不起作用?难道我做错了什么?

干杯。

4

0 回答 0