Node.js 我可以在节点的头中发送带有cookies的GET请求吗?

Node.js 我可以在节点的头中发送带有cookies的GET请求吗?,node.js,Node.js,在浏览器中,如果我发送GET请求,请求将同时发送cookie。现在我想模拟一个来自节点的GET请求,然后如何编写代码?默认情况下会启用使用神奇库cookies。您可以发送自己的类似邮件(摘自Github页面): 如果要使用本机http:request()方法执行此操作,则需要在选项参数的标题成员中设置相应的设置Cookie标题(请参阅http参考了解其外观);本机代码中没有处理cookie的特定方法。如果您需要具体的示例,请参考Mikeal的请求库中的源代码和连接中的cookieParser代码

在浏览器中,如果我发送GET请求,请求将同时发送cookie。现在我想模拟一个来自节点的GET请求,然后如何编写代码?

默认情况下会启用使用神奇库cookies。您可以发送自己的类似邮件(摘自Github页面):


如果要使用本机
http:request()
方法执行此操作,则需要在
选项
参数的
标题
成员中设置相应的
设置Cookie
标题(请参阅http参考了解其外观);本机代码中没有处理cookie的特定方法。如果您需要具体的示例,请参考Mikeal的
请求
库中的源代码和
连接
中的
cookieParser
代码


但Femi几乎肯定是对的:处理Cookie充满了相当挑剔的细节,使用已经编写的代码,更重要的是,已经测试过的代码,您几乎总是会感觉更好。如果你试图重新发明这个特殊的轮子,你可能会想出一些代码,这些代码似乎大部分时间都能正常工作,但偶尔也会神秘地失败。

Ah:不确定。我从来没有尝试过使用默认的http客户端来处理我的请求。我只是开始学习更多关于http的知识。我想如果default
http
module有这样做的方法,我可以知道更多关于它的细节。你是如何获得cookies的?我想把它们保存到一个文件中,以后再使用。add方法不再有效。用法:j.setCookie(cookie),,函数(错误,cookie){};请添加更多关于您的答案的描述和/或信息,以及它如何解决所问问题,以便其他人可以轻松理解,而无需要求澄清
var jar = request.jar();
const jwtSecret = fs.readFileSync(`${__dirname}/.ssh/id_rsa`, 'utf8');
const token = jwt.sign(jwtPayload, jwtSecret, settings);
jar.setCookie(`any-name=${token}`, 'http://localhost:12345/');
const options = {
  method: 'GET',
  url: 'http://localhost:12345',
  jar,
  json: true
};
request(options, handleResponse);
var jar = request.jar();
const jwtSecret = fs.readFileSync(`${__dirname}/.ssh/id_rsa`, 'utf8');
const token = jwt.sign(jwtPayload, jwtSecret, settings);
jar.setCookie(`any-name=${token}`, 'http://localhost:12345/');
const options = {
  method: 'GET',
  url: 'http://localhost:12345',
  jar,
  json: true
};
request(options, handleResponse);