登录
首页 >  Golang >  Go问答

将 HTTP 标头添加到 GET 请求

来源:stackoverflow

时间:2024-04-12 15:06:32 437浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《将 HTTP 标头添加到 GET 请求》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我正在 golang 中创建反向代理,但在尝试获取有关如何将 http 标头添加到 api 调用的在线示例时遇到了困难。

这是我的 api 调用:

package handlers

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)


func (s *Server) getApiCall(w http.ResponseWriter, r *http.Request) {
    resp, err := http.Get("https://url.com")
    if err != nil {
        log.Fatalln(err)
    }
    //We Read the response body on the line below.
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatalln(err)
    }
    //Convert the body to type string
    sb := string(body)
    log.Printf(sb)
    fmt.Fprintf(w, sb)
}

我可以在函数中的哪个位置添加 authorization 标头,并将 bearer 作为其值?

我是 go 新手,据我了解,这应该是足够的代码,但如果您需要有关我的后端的更多详细信息,只需在需要澄清的内容中添加注释即可。


正确答案


您不能使用 http.get,而是使用 http.newrequest 创建请求对象,然后向其中添加标头。

一个例子:

client := &http.Client{}

req, err := http.NewRequest("GET", "https://url.com", nil)
if err != nil {
    // handle error
}

req.Header.Add("Authorization", "Bearer ...")
resp, err := client.Do(req)
if err != nil {
    // handle error
}

更多详情请拨打http package doc

好了,本文到此结束,带大家了解了《将 HTTP 标头添加到 GET 请求》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>