天天看點

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​​