【问题标题】:PhantomJS setting cookies as Read and WritePhantomJS 将 cookie 设置为读写
【发布时间】:2014-02-22 03:19:59
【问题描述】:

我正在尝试通过会话 AUTH cookie 登录到带有 phantomJS 的网站,我完成了它的代码并且一切正常,问题是该网站内部有另一个具有相同 cookie 的登录系统,一旦访问了另一个页面cookie将更新安全身份验证令牌,因此当我将第一个cookie添加到幻像时,我看到它设置为只读,因为我无法访问第二个登录系统内的内容,因为网站正在尝试更新我手动添加的cookie但不幸的是它失败了,因为 cookie 设置为只读。

我正在使用的代码:

phantom.addCookie({
    'name':     'some name here',   /* required property */
    'value':    'some hash here',
    'domain':   'ea.some domain here.com',           /* required property */
    'path':     '/',
    'httponly': false,
    'secure':   false,
    'expires':  (new Date()).getTime() + (10000 * 60 * 60)   /* <-- expires in 10 hour */
});

我试图在我的脚本自动访问需要第二次身份验证的页面之前删除会话 cookie,但它只是让我退出,因为我需要拥有旧的会话身份验证,以便可以使用新的会话身份验证哈希对其进行更新。

任何想法如何使手动添加的 cookie 在服务器端请求后更新?

【问题讨论】:

    标签: javascript cookies phantomjs


    【解决方案1】:

    我找到了解决办法,

    似乎服务器实际上创建了一个具有相同名称和新值的新 cookie。而不是用新值替换它。我在网上搜索了有关此问题的任何帮助,但失败了,我通过获取新 cookie 的值并将其保存到变量中来解决此问题,然后执行 phantom.clearcookies() 以删除所有 cookie 并再次添加新 cookie我存储的新值,它不干净,但它成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2016-12-29
      • 2017-07-16
      • 2014-05-16
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多