GO语言http请求方法,可以携带请求头Header与cookie
1、目录
2、main.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package main import "fmt" import "demo/common/http" func main() { url := "" header := make( map [string]string) header[ "Content-type" ] = "application/json;charset=utf-8" cookie := make( map [string]string) cookie[ "JSESSIONID" ] = "5CC7E50F60767CC8D2A0D0561286E91D" cookie[ "acw_tc" ] = "ac11000116547373711273516e00bcec91c84e5130daa8cb934436b2a9c1bd" var ret, err = http.BasicGetHeader(url, header, cookie) if err != nil { fmt.Println(err) } else { fmt.Println(ret) } } |
3、http.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package http import ( "io/ioutil" "log" "net/http" ) func BasicGetHeader(requestGetURL string, header map [string]string, cookie map [string]string) (ret []byte, err error) { client := http.Client{} req, err := http.NewRequest(http.MethodGet, requestGetURL, nil) if err != nil { log.Println( "err" ) return nil, err } // 添加请求头 for key, value := range header { req.Header.Add(key, value) } // 添加cookie for key, value := range cookie { cookie := &http.Cookie{ Name: key, Value: value, } req.AddCookie(cookie) } // 发送请求 resp, err := client.Do(req) if err != nil { log.Println( "err" ) return nil, err } defer resp.Body.Close() return ioutil.ReadAll(resp.Body) } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具