构造url
package main
import (
"fmt"
"net/url"
)
func main() {
u := url.URL{}
u.Scheme = "https"
u.Host = "go.dev"
u.Path = "/learn/doc"
values := u.Query()
values.Add("hello", "world")
u.RawQuery = values.Encode()
fmt.Printf("URL = %s\n", u.String())
}
解析url
package main
import (
"fmt"
"net/url"
)
func main() {
s := "https://golang.org"
u, err := url.Parse(s)
if err != nil {
panic(err)
}
fmt.Println(u.Scheme)
fmt.Println(u.Host)
}
解析带参数url
package main
import (
"fmt"
"net/url"
)
func main() {
s := "https://go.dev/learn/doc?hello=world"
u, err := url.Parse(s)
if err != nil {
panic(err)
}
fmt.Println(u.Scheme)
fmt.Println(u.Host)
fmt.Println(u.Path)
fmt.Printf("Param hello = %s\n", u.Query().Get("hello"))
}