Node.js请求中包含多个“Cookie”标头

我已经看到如何使用一个cookie进行请求,并且我已经看到如何使用多个cookie编写响应,但没有人知道如何使用http模块(如果可能)在多个node.js中编写请求“Cookie”标头?

到目前为止,我看到在node.js中发出请求的唯一方式是将一个对象作为parameter passing给一个函数,这需要两个相同的密钥。

headers = { Cookie: firstCookie, Cookie: secondCookie } 

所以不会工作。

这是一个node.js问题,但是我对http没有太大的信心,所以我不确定是否没有办法在头文件中设置两个不同的cookie。 是否有可能连接成一个单一的头? 请求与两个单独定义的cookie不同,从一个单一的头包含两个?

您添加的“Cookie”属性是HTTP请求中的直接标头。 您应该只使用一个“Cookie”标头,并将Cookie正确编码为一个有效的Cookie标头string,如下所示:

 var headers = { Cookie: 'key1=value1; key2=value2' } 

此外,而不是使用nodeJS本地HTTP客户端,通常会让你写很多样板代码,我build议你使用一个简单的库像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(); } ); 

您可以使用child_process.exec来运行curl进程,并使用stdout来执行任何types的请求,而不是使用本机Node.js库。