天天看点

golang封装http get函数请求并且携带header头信息

有遇到这种需求,golang发送GET请求,携带header头信息,比如header里带着验证token

封装函数如下:

//Get请求携带header
func GetWithHeader(url string, headers map[string]string) (string, error) {
    client := &http.Client{}

    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        return "", err
    }
    for key, header := range headers {
        req.Header.Set(key, header)
    }
    resp, err := client.Do(req)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }
    return string(body), nil
}      

使用方式如下:

token := "aaaddddffffffffffffsssssssssss"
    id := 222
    headers := make(map[string]string)
    headers["Authorization"] = "bearer " + token
    result, _ := tools.GetWithHeader("/url?id="+id, headers)      

开发作品

GOFLY是一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能。

github地址:​​go-fly​​