zoukankan      html  css  js  c++  java
  • 9.10 cookie

    package main
    
    import (
    	"fmt"
    	"log"
    	"net/http"
    	"time"
    )
    
    const cookieName = "X-Cookie"
    
    func main() {
    	log.Println("Server is starting...")
    
    	http.HandleFunc("/set", func(w http.ResponseWriter, r *http.Request) {
    		c := &http.Cookie{
    			Name:    cookieName,
    			Value:   "Go is awesome.",
    			Expires: time.Now().Add(time.Hour),
    			Domain:  "localhost",
    		}
    		http.SetCookie(w, c)
    		fmt.Fprintln(w, "Cookie is set!")
    	})
    	http.HandleFunc("/get", func(w http.ResponseWriter, r *http.Request) {
    		val, err := r.Cookie(cookieName)
    		if err != nil {
    			fmt.Fprintln(w, "Cookie err: "+err.Error())
    			return
    		}
    		fmt.Fprintf(w, "Cookie is: %s 
    ", val.Value)
    		fmt.Fprintf(w, "Other cookies")
    		for _, v := range r.Cookies() {
    			fmt.Fprintf(w, "%s => %s 
    ", v.Name, v.Value)
    		}
    	})
    	http.HandleFunc("/remove", func(w http.ResponseWriter, r *http.Request) {
    		val, err := r.Cookie(cookieName)
    		if err != nil {
    			fmt.Fprintln(w, "Cookie err: "+err.Error())
    			return
    		}
    		val.MaxAge = -1
    		http.SetCookie(w, val)
    		fmt.Fprintln(w, "Cookie is removed!")
    	})
    	if err := http.ListenAndServe(":8080", nil); err != nil {
    		panic(err)
    	}
    }
    
    /*
    http://127.0.0.1:8080/set
    http://127.0.0.1:8080/get
    
    http://127.0.0.1:8080/remove
    
    */
    
    
  • 相关阅读:
    第五小节之JAVA IO流
    第四小节之Java 集合类
    初学的重点
    第三小节之Java API
    实践周java基础软件开发app之五子棋
    出栈合法性
    Python介绍
    Ubuntu主题美化篇
    Ubuntu16.04比较好的一系列软件安装介绍
    Ubuntu使用Shadow socks-qt5
  • 原文地址:https://www.cnblogs.com/zrdpy/p/8654998.html
Copyright © 2011-2022 走看看