直接上例子
package main
import (
"fmt"
"net/http"
"net/url"
)
func gso(w http.ResponseWriter, r *http.Request) {
r1 := r.URL.String()
r2 := r.RequestURI
fmt.Println(r1) //go?a=111&b=456
fmt.Println(r2) //go?a=111&b=456
u, _ := url.Parse(r1) //将string解析成*URL格式
fmt.Println(u) // go?a=111&b=456
fmt.Println(u.RawQuery) //编码后的查询字符串,没有'?' a=111&b=456
values, _ := url.ParseQuery(u.RawQuery) //返回Values类型的字典
fmt.Println(values) // map[a:[111] b:[456]]
fmt.Println(values["a"]) //[111]
fmt.Println(values.Get("b")) //456
}
func main() {
http.HandleFunc("/go", gso)
http.ListenAndServe(":8080", nil)
}
//输入URL: http://localhost:8080/go?a=111&b=456
此博客聚焦于Golang中url.Parse、ParseQuery、RawQuery的用法,通过实例进行展示,帮助开发者了解如何运用这些方法处理URL解析相关操作,属于后端开发中Golang语言的应用内容。
3468

被折叠的 条评论
为什么被折叠?



