Go语言cookie的基本操作
cookie数据结构介绍
cookie数据结构介绍
a. Expires,cookie过期时间,使用绝对时间。比如2018/10/10 10:10:10
b. MaxAge,cookie过期时间,使用相对时间,比如300s
c. Secure属性,是否需要安全传输,为true时只有https才会传输该cookie
Go语言cookie的基本操作
d. HttpOnly属性,为true时,不能通过js读取该cookie的值
golang读取cookie
a. 读取单个cookie, http.Request.Cookie(key string)
b. 读取所有cookie, http.Request.Cookies()
golang设置cookie
a. cookie := http.Cookie{Name: "username", Value: "astaxie", Expires: expiration}
b. http.SetCookie(w, &cookie)
package main import (
"fmt"
"net/http"
) func indexHandle(w http.ResponseWriter, r *http.Request) { /*cookies := r.Cookies()
for index, cookie := range cookies {
fmt.Printf("index:%d cookie:%#v\n", index, cookie)
}*/
c, err := r.Cookie("sessionid")
fmt.Printf("cookie:%#v, err:%v\n", c, err) cookie := &http.Cookie{
Name: "sessionid",
Value: "lkjsdfklsjfklsfdsfdjslf",
MaxAge: ,
Domain: "localhost",
Path: "/",
} http.SetCookie(w, cookie) //在具体数据返回之前设置cookie,否则cookie种不上
w.Write([]byte("hello"))
} func main() {
http.HandleFunc("/", indexHandle)
http.ListenAndServe(":9090", nil)
}
Go语言cookie的基本操作的更多相关文章
- 动态加载多国语言 ---- cookie + 浏览器
一.多国语言缩写列表 因为涉及到浏览器的可接收语言,所以需要知道各个国家的语言缩写. 这个百度一下即可. en 英文 en_US 英文 (美国) ar 阿拉伯文 ar_AE 阿拉伯文 (阿拉伯联合酋长 ...
- tornado框架&三层架构&MVC&MTV&模板语言&cookie&session
web框架的本质其实就是socket服务端再加上业务逻辑处理, 比如像是Tornado这样的框架. 有一些框架则只包含业务逻辑处理, 例如Django, bottle, flask这些框架, 它们的使 ...
- Go语言 Cookie的使用
首先看看Cookie的结构体 type Cookie struct { Name string Value string Path string // optional Domain string / ...
- Flask里面的cookie的基本操作
#cookie相关操作,依赖于make_response #调用cookie依赖request模块 from flask import Flask,make_response,request #建立对 ...
- cookie的基本操作
设置,读取,删除 var odate=new Date(); odate.setDate(odate.getDate()+14); document.cookie='user=blue;expires ...
- 理解线程3 c语言示例线程基本操作
Table of Contents 1. 基本线程的动作 1.1. 设置线程属性 1.1.1. 设置脱离状态 1.1.2. 设置调度属性 1.2. 取消线程 1.3. 主线程创建多个线程示例 2. 了 ...
- 【数据结构】C语言栈的基本操作
#include<stdio.h> #include<stdlib.h> #include<malloc.h> //定义节点 struct Node { int d ...
- c语言文件的基本操作
c语言对文件的操作主要分为:按字符操作,按行操作,按内存块操作 主要的函数: fopen(): FILE * fopen(_In_z_ const char * _Filename, _In_z_ c ...
- C语言链表的基本操作
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
随机推荐
- echarts折线区域图
一.使用场景 当舒张压和收缩压超过或低于他们对应的范围时,折线应该给与不同颜色.两个指标对应的范围也要填充不同的颜色. 二.实现方案 主要使用了echarts中的visualMap,series.ma ...
- 普通的maven项目变成web项目
command+: 或者 这个修改同样可以解决idea中不能新建servlet的问题. 这里最后的目录结构是这样的,如果在上面的设置中尝试修改目录,会导致无法创建servlet,比如我希望将根目录改成 ...
- HDU-1423-Greatest Common Increasing Subsequence-最长公共上升子序列【模版】
This is a problem from ZOJ 2432.To make it easyer,you just need output the length of the subsequence ...
- 深入浅出Java中的clone克隆方法,写得太棒了!
作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/ Java中对象的创建 clone 顾名思义就是 复制 , 在Java语言中, c ...
- Python3升级3.6强力Django+杀手级xadmin打造在线教育平台✍✍✍
Python3升级3.6强力Django+杀手级xadmin打造在线教育平台 教程 Xadmin安装方法: settings.py 的配置: users App 下的 adminx.py 的配置:
- flexbox属性速览及常见布局实现
CSS3 弹性盒子(Flex Box)弹性盒子是即 CSS2 浮动布局后, CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同 ...
- [WPF自定义控件]?Window(窗体)的UI元素及行为
原文:[WPF自定义控件]?Window(窗体)的UI元素及行为 1. 前言 本来打算写一篇<自定义Window>的文章,但写着写着发觉内容太多,所以还是把使用WindowChrome自定 ...
- Ubuntu 18.04/18.10快速开启Google BBR的方法
说明:Ubuntu 18.04改变挺大的,内核直接升到了正式版4.15,而BBR内核要求为4.9,也就是说满足了,所以我们不需要换内核就可以很快的开启BBR,这里简单说下方法. 提示:Ubuntu 1 ...
- 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’
如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案 ...
- 打开串口(COM)号大于9时报错
使用CreateFile打开串口(COM)号大于9时报错,GetLastError()的值为2. 解决方法: // 把串口名称由 "COMN" 改为 "\\.\COMN& ...