无法获取请求标头

我尝试使用回显框架打印请求标头,但回显框架似乎没有将标头加载到 context.request.Header 字段中。这是回声框架的错误吗?


这里是main函数,context.Request()是*http.Request的一个类型,


func main() {

    server := echo.New()


    server.GET("/", func(context echo.Context) error {


        for key, values := range context.Request().Header {

            fmt.Println(key)

            for value := range values {

                fmt.Println(value)

            }

        }

        return nil

    })


    server.Logger.Fatal(server.Start(":12312"))

}

我用curlcurl -vvv "http://127.0.0.1:12312/"测试服务器,但是服务器只打印


User-Agent

0

Accept

0

但实际上,卷曲提供以下作为标题信息


> Host: 127.0.0.1:12312

> User-Agent: curl/7.64.1

> Accept: */*


肥皂起泡泡
浏览 122回答 2
2回答

蓝山帝景

       for value := range values {在列表上使用range返回index, value. 您只要求 ,index在0所有情况下都是如此。要获得实际值,请使用        for _,value := range values {

沧海一幻觉

由于我无法编辑 @Steffen 以显示完整的代码,我将在此处添加它:func main() {    server := echo.New()    server.GET("/", func(context echo.Context) error {        for key, values := range context.Request().Header {            fmt.Println(key)            for _,value := range values {                fmt.Println(value)            }        }        return nil    })    server.Logger.Fatal(server.Start(":12312"))}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go