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)
}

  

posted @   沈启伦  阅读(1427)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示