如果我收到类型为 http.Request
的请求,我如何读取特定标头的值?在这种情况下,我想从请求标头中提取 jwt 令牌的值。
原文由 Ayman Elmubark 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我收到类型为 http.Request
的请求,我如何读取特定标头的值?在这种情况下,我想从请求标头中提取 jwt 令牌的值。
原文由 Ayman Elmubark 发布,翻译遵循 CC BY-SA 4.0 许可协议
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", handler)
log.Fatal(http.ListenAndServe("localhost:8000", nil))
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "%s %s %s \n", r.Method, r.URL, r.Proto)
//Iterate over all header fields
for k, v := range r.Header {
fmt.Fprintf(w, "Header field %q, Value %q\n", k, v)
}
fmt.Fprintf(w, "Host = %q\n", r.Host)
fmt.Fprintf(w, "RemoteAddr= %q\n", r.RemoteAddr)
//Get value for a specified token
fmt.Fprintf(w, "\n\nFinding value of \"Accept\" %q", r.Header["Accept"])
}
从浏览器连接到 http://localhost:8000/ 将在浏览器中打印输出。
原文由 Ravi R 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答921 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.2k 阅读
您可以使用 r.Header.Get :