无法获取请求 header

cannot get request header

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

这里是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"))
}

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

User-Agent
0
Accept
0

但实际上,curl 给出以下 header 信息

> Host: 127.0.0.1:12312
> User-Agent: curl/7.64.1
> Accept: */*
        for value := range values {

在列表 returns index, value 上使用 range。您只要求 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"))
}