我已经看到了如何使用单个cookie发出请求,也看到了如何使用多个Cookie编写响应,但是有谁知道如何在node.js中使用带有多个“Cookie”头的http模块(如果可能)编写请求?
到目前为止,我所见过的在node.js中发出请求的唯一方法是将对象作为参数传递给函数,这将需要具有两个相同的键。
headers = {
Cookie: firstCookie,
Cookie: secondCookie
}
那就不管用了。
这是一个node.js问题,但我对http不是很有信心,所以我不确定是否有办法在标题中设置两个不同的cookie。是否可以将这两个文件合并为一个标头?具有两个单独定义的cookie的请求是否与具有包含两个cookie的单个标头的请求不同?
发布于 2013-08-27 23:25:14
您添加的“Cookie”属性是HTTP请求中的直接标头。您应该只使用一个“cookie”标头,并将您的cookie正确编码为一个有效的cookie标头字符串,如下所示:
var headers = {
Cookie: 'key1=value1; key2=value2'
}
此外,与其使用通常会让您编写大量样板代码的nodeJS原生HTTP client相比,我建议您使用一个简单得多的库,如Requestify。
下面是使用requestify发出带有cookie的HTTP请求的方法:
var requestify = require('requestify');
requestify.get('http://example.com/api/resource', {
cookies: {
'key1': 'val1',
'key2': 'val2',
}
})
.then(function(response) {
// Get the response body (JSON parsed or jQuery object for XMLs)
response.getBody();
}
);
https://stackoverflow.com/questions/18456098
复制相似问题