zoukankan      html  css  js  c++  java
  • Koa Cookie 的设置与获取

    一、Koa 设置 Cookie

    ctx.cookies.set(name, value, [options])

    通过 options 设置 cookie name 的 value :

    • maxAge 一个数字表示从 Date.now() 得到的毫秒数
    • signed cookie 签名值
    • expires cookie 过期的 Date
    • path cookie 路径, 默认是'/'
    • domain cookie 域名
    • secure 安全 cookie
    • httpOnly 服务器可访问 cookie, 默认是 true
    • overwrite 一个布尔值,表示是否覆盖以前设置的同名的 cookie (默认是 false). 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(不管路径或域)是否在设置此Cookie 时从 Set-Cookie 消息头中过滤掉。

    这里以刷新'/'自动设置一个 Cookie 为例:

    ./routes/index.js:

    const router = require('koa-router')()
    
    router.get('/', async (ctx, next) => {
      ctx.cookies.set('mycookie', Math.random())
      await ctx.render('index', {
        title: 'Hello Koa 2!'
      })
    })
    
    module.exports = router

    刷新 http://localhost:3000/ 自动设置 Cookie:

    二、Koa 获取 Cookie

    ctx.cookies.get(name, [options])

    通过 options 获取 cookie name:

    • signed 所请求的cookie应该被签名

    koa 使用 cookies 模块,其中只需传递参数。

    这里以刷新'/json'自动获取 Cookie 为例:

    ./routes/index.js:

    const router = require('koa-router')()
    
    router.get('/json', async (ctx, next) => {
      ctx.body = {
        title: 'koa2 json',
        cookie: ctx.cookies.get('mycookie')
      }
    })
    
    module.exports = router

    刷新 http://localhost:3000/json 自动获取 Cookie:

      

  • 相关阅读:
    对流程和规范的思考
    我的一小时面试指南
    安全扫描工具nikto简单使用
    测试的角色
    测试的窘境
    关于重连测试的一点研究
    ETCD高可用特性学习
    Cgroup和Namespace在测试中的使用(下)
    单循环列表的删除前驱结点
    指针常量字符串
  • 原文地址:https://www.cnblogs.com/Leophen/p/12741840.html
Copyright © 2011-2022 走看看