紫色飞猪的研发之旅--03golang:获取cookie
2021-09-01 17:26
896 查看
在调用第三方接口时,需要用到凭证,大多数接口使用token即可,那自然有小多数接口使用cookie等认证。此系列将围绕我的研发之旅进行。
获取cookie相对简单独立,直接上代码
package main import ( "bytes" "fmt" "mime/multipart" "net/http" "time" ) var ( CookieName string // cookie k CookieValue string // cookie v Time int // cookie 限期 ) // 初始化cookie所需信息 func cookieInit() { postData := make(map[string]string) postData["username"] = "axxxn" postData["password"] = "axxxxxt" url := "http://txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkens" postWithFormData("POST", url, &postData) } // PostWithFormData 获取cookie和过期时间 func postWithFormData(method, url string, postData *map[string]string) { body := new(bytes.Buffer) w := multipart.NewWriter(body) for k, v := range *postData { w.WriteField(k, v) } w.Close() req, _ := http.NewRequest(method, url, body) req.Header.Set("Content-Type", w.FormDataContentType()) resp, err := http.DefaultClient.Do(req) if err != nil || resp.StatusCode > 300 { fmt.Println("err = ", err) fmt.Printf("%+v\n", resp.Cookies()) return } defer resp.Body.Close() for _, cookie := range resp.Cookies() { if cookie.Name == "tke" { CookieName = cookie.Name CookieValue = cookie.Value nowtime := time.Now().Unix() Time = cookie.MaxAge + int(nowtime) } } } // GetCookie 判断cookie过期时间范围cookie func GetCookie() (string, string) { nowtime := time.Now().Unix() if len(CookieValue) == 0 { cookieInit() } else { if int(nowtime) >= Time { cookieInit() } } return CookieName, CookieValue } func main() { n,v := GetCookie() fmt.Println("n = ", n) fmt.Println("v = ", v) } // n = hubxxxxxxxen // v = eyJhbGxxxxx9pZCI6MCwib3Blbl91c2VyX2lkIjowLCJxxxxiLCJhdmF0YXJfdXJsIjoiIiwic3BhY2VfaWQiOiIiLCJhcHBfa2V5xxxfaWQiOiIyZWNiMDkyNi03ZWYzLxxxxN1ZWRfYXQiOjE2MzA0ODxxxxiOIOfC0TJxxAcc=
相关文章推荐
- XSS获取cookie并利用
- nodejs无法获取cookie
- 通过WinInet API来实现表单提交并设置获取COOKIE(C++ http请求
- 获取登录需要的cookie简单案列
- 关于C# 获取不到safari浏览器Cookie的问题
- 获取网站存放在本地cookie
- php使用CURL不依赖COOKIEJAR获取COOKIE的方法
- 远程获取类Asp xmlHttp 带 cookie 欺骗
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
- webBrowser获取cookie
- JS 设置与获取Cookie,函数setCookie(name,value,time)getCookie(name)
- paip.C#.NET利用WebBrowser获取完整COOKIE
- BigIP Cookie 解码获取真实IP
- Cookie获取客户端信息及响应
- JavaScript CodeSnippets——获取Cookie
- vc获取cookie
- swfupload在360浏览器极速模式和火狐下无法获取cookie的bug
- IE下获取不到Response添加的cookie的解决方法
- json数据如何存入到cookie中,如何获取
- js 获取cookie