当前位置: 首页 > 面试题库 >

使用Node.js HTTP Server获取并设置单个Cookie

花阳秋
2023-03-14
问题内容

我希望能够设置一个cookie,并在对nodejs服务器实例的每个请求中读取单个cookie。是否可以用几行代码来完成,而无需引入第三方库?

var http = require('http');

http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
}).listen(8124);

console.log('Server running at http://127.0.0.1:8124/');

只是尝试直接从nodejs.org中获取上述代码,然后在其中工作一个cookie。


问题答案:

无法快速访问获取/设置Cookie的功能,因此我想到了以下技巧:

var http = require('http');

function parseCookies (request) {
    var list = {},
        rc = request.headers.cookie;

    rc && rc.split(';').forEach(function( cookie ) {
        var parts = cookie.split('=');
        list[parts.shift().trim()] = decodeURI(parts.join('='));
    });

    return list;
}


http.createServer(function (request, response) {

  // To Read a Cookie
  var cookies = parseCookies(request);

  // To Write a Cookie
  response.writeHead(200, {
    'Set-Cookie': 'mycookie=test',
    'Content-Type': 'text/plain'
  });
  response.end('Hello World\n');
}).listen(8124);

console.log('Server running at http://127.0.0.1:8124/');

这会将所有cookie存储到cookie对象中,并且在编写头部时需要设置cookie。



 类似资料:
  • 问题内容: 我试图根据我在HTML中选择的CSS文件来设置Cookie。我有一个带有选项列表的表单,以及不同的CSS文件作为值。当我选择一个文件时,应将其保存到Cookie大约一周。下次打开HTML文件时,它应该是您选择的上一个文件。 JavaScript代码: HTML代码: 问题答案: 我发现以下代码比其他任何代码都简单得多: 现在,调用函数

  • 本文向大家介绍StackExchange.Redis 设置并获取一个整数,包括了StackExchange.Redis 设置并获取一个整数的使用技巧和注意事项,需要的朋友参考一下 示例 或使用StackExchange.Redis.Extensions:            

  • 现在写复杂的,感觉我用了很多。 据我所知,有些类型有原子操作,它们总是在没有任何硬件或软件中断的情况下执行。 我想检查一下我是否正确地理解了每件事。 要设置或获取原子值,我们不需要,因为这样做不会有中断。 是原子的。 所以有我的语句,想问一下,如果它们是正确的,也如果它们是正确的,没有也可以设置或获取哪些类型的变量? 注:我说的是每个方法获得或设置一个值,不是两个,不是五个,而是一个。

  • 通过 id 获取 device 信息 参数说明 字段 类型 必须? 说明 deviceId String 是 设备Id 接口定义 Swift: let device = RokidMobileSDK.device.getDevice(deviceId: String) -> RKDevice? Objc: RKDevice * device = [RokidMobileSDK.device ge

  • 问题内容: 我想每次引用页面时都增加一个cookie值,即使该页面是从缓存中加载的。实现此目的的“最佳”或最简洁的方法是什么? 问题答案: 从http://www.quirksmode.org/js/cookies.html#script被盗 使用它: 如评论中指出的那样,由于cookie被存储并作为字符串返回,因此您应该将其强制转换为int。使用或会为您实际投放,但更确切地知道您正在使用的是更安

  • 问题内容: 我可以从使用检索值: 但是当我尝试使用Spring时,我没有得到任何数据。我的数据存储为。 有人可以向我指出我在想什么吗? 编辑:我的XML配置为RedisTemplate。 问题答案: 您必须配置串行器。 说明 Redis模板将序列化程序用于键,值和哈希键/值。序列化器用于将Java输入转换为存储在Redis中的表示形式。如果您未进行任何配置,则序列化程序默认为。因此,如果您在Jav