【问题标题】:To post data with cookie using node.js使用 node.js 使用 cookie 发布数据
【发布时间】:2016-03-28 00:49:57
【问题描述】:

我将一些数据发布到一个网址。
这是我的代码。

request = require("request");

var url = "http://www.cjihrig.com/development/php/hello_cookies.php";
var jar = request.jar();
var cookie = request.cookie("name=Larry");
jar.setCookie(cookie, url);

var req = {
    url: url,
    jar: jar,
};

request(req, function(err, res, body){
    if(err) console.log(err);

    console.log(body);
});

然后我得到“你好拉里!”。
当我再次发帖时,我还会收到“Hello Larry!”。

但是当我使用谷歌浏览器访问这个网站时,
我得到“你好!”在第一时间和“你好陌生人!”第二次。
我认为那是因为 cookie 被网站修改了。
有没有办法在node.js中获取修改后的cookie?

【问题讨论】:

    标签: javascript node.js cookies request


    【解决方案1】:

    取自https://github.com/request/request:

    在请求后检查您的 cookie jar:

    var j = request.jar()
    request({url: 'http://www.google.com', jar: j}, function () {
      var cookie_string = j.getCookieString(url); // "key1=value1; key2=value2; ..."
      var cookies = j.getCookies(url);
      // [{key: 'key1', value: 'value1', domain: "www.google.com", ...}, ...]
    })
    

    【讨论】:

    • cookie_string:name=Stranger cookies:[ Cookie="name=Stranger; Path=/development/php; hostOnly=true; aAge=1ms; cAge=665ms" ]
    • 你把它放在请求回调中了吗?
    • 是的,我做到了。这就是结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2011-05-26
    • 1970-01-01
    • 2017-06-05
    • 2018-10-11
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多