首页 > 其他分享 >golang封装http get函数请求并且携带header头信息

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

时间:2022-11-03 15:12:17浏览次数:54  
标签:http string err get nil golang header headers

有遇到这种需求,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)

 

标签:http,string,err,get,nil,golang,header,headers
From: https://www.cnblogs.com/taoshihan/p/16854503.html

相关文章

  • 【Golang标准库】flag
    参考:flag学习在Golang程序中有很多种方法来处理命令行参数。简单的情况下可以不使用任何库,直接处理os.Args;其实Golang的标准库提供了flag包来处理命令行参数;还有第......
  • C# HttpClient 封装
    usingSystem.Text;namespaceHTTPClientPacking{publicclassHttpClientHelper{privatestaticHttpClientHelper?_httpClientHelper=null;......
  • golang 重要知识点(二)
    packagemainimport"fmt"typeMyStructstruct{ Namestring}func(sMyStruct)SetName1(namestring){ s.Name=name}func(s*MyStruct)SetName2(name......
  • 为什么HTTP代理会出现“返回403 forbidden”
    平时我们在使用HTTP代理的过程中,稍有不慎就会出现各种各样的错误代码,其中“403forbidden”就是常见的一种。它属于HTTP协议中的一个状态码(StatusCode),可以简单的理......
  • HTTP代理究竟是宜没好货还是一分价钱一分货
    我们在HTTP代理选择的时候,不少朋友都会犯难,到底是便宜没好货,一分价钱一分货?还是只买对的,其实代理不一定要买多便宜,也不一定要买多昂贵的。还是之前我们老生常谈......
  • 免费的HTTP代理有什么好处吗
    我们在接手爬虫业务时候,往往需要选择一款适合自己业务的HTTP代理,通常都会选择所谓性价比高的代理,可是真的是性价比越高就越适合我们的业务吗?其实不然。不少朋友,尤......
  • HttpClient 调用时的采坑记录及解决办法
    1、首先,https是颁发给域名的,如果采取ip加https访问的机制,会出现证书不安全的问题,直接使用HttpClient去连接会出现客户端无法信任服务器的问题。解决思想:如果我们去调用这......
  • flutter get cli
    安装添加环境变量D:\Resource\flutter\bin\cache\dart-sdk\bin安装clipubglobalactivateget_cli1.7.1flutterpubglobalactivateget_cli最新版本的1.7.1有bu......
  • nginx 强制https
    nginx强制https 通常有如下两种方法强制https推荐第二种,第二种更高效1、使用nginx的rewrite方法server{listen80;server_namexxx.c......
  • 实现一个特殊的栈,是它除了有基本的push()和pop()方法外,再实现一个返回栈中最小元素的
    packageclass03;importjava.util.Stack;/***实现一个特殊的栈,是它除了有基本的push()和pop()方法外,再实现一个返回栈中最小元素的方法getMin().*(1)push()、p......