如何在请求中使用cookie(request,tough-cookie,node.js)

时间:2014-04-28 08:50:29

标签: node.js cookies request

我想知道如何在request使用Cookie(https://github.com/mikeal/request

我需要设置一个cookie,可以从请求中为每个子域提取

类似

  

*。examples.com

并且路径适用于每个页面,例如

  

/

然后服务器端能够正确地从cookie中获取数据,如

  

测试= 1234

我发现从响应中设置的cookie工作正常,

我添加了一个自定义jar来保存cookie,比如

var theJar = request.jar();

var theRequest = request.defaults({
            headers: { 
                'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' 
            } 
          , jar: theJar
        });

但我根据请求设置的Cookie只能在同一个域中获取

我找不到在更多选项中设置cookie的方法

现在,如果我想要一个能够在三个子域中获取的cookie,

我必须这样设置:

theJar.setCookie('test=1234', 'http://www.examples.com/', {"ignoreError":true});

theJar.setCookie('test=1234', 'http://member.examples.com/', {"ignoreError":true});

theJar.setCookie('test=1234', 'http://api.examples.com/', {"ignoreError":true});
  

此处有任何预先设置Cookie的方法,

     

使其能够在每个子域中获取

1 个答案:

答案 0 :(得分:11)

我刚刚找到了解决方案......

theJar.setCookie('test=1234; path=/; domain=examples.com', 'http://examples.com/');

嗯...我不得不说,请求的文件不太好......,lol