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 ...
随机推荐
- 尚学linux课程---7、linux系统管理命令
尚学linux课程---7.linux系统管理命令 一.总结 一句话总结: 查网络:netstat -ntpl 查进程:ps 1.需要下载163yum源(从外部源同步仓库)里面的所有rpm文件? re ...
- H2数据库的基本使用
文章目录 下载jar包 启动服务 下载jar包 下载h2-1.3.176.jar 这个包(部分服务版本不一致,请自行更换版本) 启动服务 从终端定位到刚才jar包下载的位置,比如我这里是Downloa ...
- VS2015遇到的自带报表的问题
1.设计报表时候,没有“报表数据”工具,直接在报表设计那里按ALT+CTRL+D 2.设计报表时候有时候找不到这些按钮,只需要重置窗口布局就行了.
- PAT甲级——A1127 ZigZagging on a Tree【30】
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...
- USACO training course Checker Challenge N皇后 /// oj10125
...就是N皇后 输出前三种可能排序 输出所有可能排序的方法数 vis[0][i]为i点是否已用 vis[1][m+i]为i点副对角线是否已用 m+i 为从左至右第 m+i 条副对角线 vis[1] ...
- js实现把多个数据分成3个一组
主要代码: var stuCount = res.data; if (stuCount.length>0){ var objList = new Object(); var arr = new ...
- Ansible-playbook简单应用的几个实例
①ansible-playbook的循环: 重复执行某任务:对迭代项的引用,固定变量名为“item”,而后要在task中使用with_items给定要迭代的元素列表,列表方法:字符串/字典(类似jso ...
- JVM的内存空间
一.JVM运行起来,就会给内存划分空间,这块空间成为运行时数据区.运行时数据区主要划分为以下几部分内容: 1.栈 每一个线程运行起来的都会对应一个栈(线程栈),栈中的数据是该线程独有的,不会产生资源共 ...
- 洛谷 P3120 [USACO15FEB]牛跳房子(金)Cow Hopscotch (Gold)
P3120 [USACO15FEB]牛跳房子(金)Cow Hopscotch (Gold) 就像人类喜欢跳格子游戏一样,FJ的奶牛们发明了一种新的跳格子游戏.虽然这种接近一吨的笨拙的动物玩跳格子游戏几 ...
- 点击回退时需要点击2次才可返回js
为a加上window.location.href跳转页面时,再返回到此页面,再点击返回时需点击2次才能返回到前一个页面,原因竟然是href=“#”的原因,在html中#可做为锚点 http://blo ...