GO语言"net/url"包中"URL"类型的用法及代码示例。
URL 表示已解析的 URL(从技术上讲,是 URI 引用)。
表示的一般形式是:
用法:
[scheme:][//[userinfo@]host][/]path[?query][#fragment]
方案后不以斜杠开头的 URL 被解释为:
scheme:opaque[?query][#fragment]
请注意,路径字段以解码形式存储:/%47%6f%2f 变为 /Go/。结果是无法分辨路径中的哪些斜杠是原始 URL 中的斜杠,哪些是 %2f。这种区别很少重要,但当它重要时,代码应该使用 RawPath 一个可选字段,只有在默认编码与路径不同时才会设置该字段。
URL 的 String 方法使用EscapedPath 方法获取路径。有关详细信息,请参阅EscapedPath 方法。
type URL struct { Scheme string Opaque string // encoded opaque data User *Userinfo // username and password information Host string // host or host:port Path string // path (relative paths may omit leading slash) RawPath string // encoded path hint (see EscapedPath method); added in Go 1.5 ForceQuery bool // append a query ('?') even if RawQuery is empty; added in Go 1.7 RawQuery string // encoded query values, without '?' Fragment string // fragment for references, without '#' RawFragment string // encoded fragment hint (see EscapedFragment method); added in Go 1.15 }
例子:
package main
import (
"fmt"
"log"
"net/url"
)
func main() {
u, err := url.Parse("http://bing.com/search?q=dotnet")
if err != nil {
log.Fatal(err)
}
u.Scheme = "https"
u.Host = "google.com"
q := u.Query()
q.Set("q", "golang")
u.RawQuery = q.Encode()
fmt.Println(u)
}
输出:
https://google.com/search?q=golang
示例(往返):
package main
import (
"fmt"
"log"
"net/url"
)
func main() {
// Parse + String preserve the original encoding.
u, err := url.Parse("https://example.com/foo%2fbar")
if err != nil {
log.Fatal(err)
}
fmt.Println(u.Path)
fmt.Println(u.RawPath)
fmt.Println(u.String())
}
输出:
/foo/bar /foo%2fbar https://example.com/foo%2fbar
相关用法
- GO URL.Hostname用法及代码示例
- GO URL.EscapedPath用法及代码示例
- GO URL.Port用法及代码示例
- GO URL.ResolveReference用法及代码示例
- GO URL.Query用法及代码示例
- GO URL.Redacted用法及代码示例
- GO URL.Parse用法及代码示例
- GO URL.String用法及代码示例
- GO URL.UnmarshalBinary用法及代码示例
- GO URL.EscapedFragment用法及代码示例
- GO URL.MarshalBinary用法及代码示例
- GO URL.RequestURI用法及代码示例
- GO URL.IsAbs用法及代码示例
- GO UDPConn.WriteTo用法及代码示例
- GO Unmarshal用法及代码示例
- GO UnaryOp用法及代码示例
- GO Unsetenv用法及代码示例
- GO Unquote用法及代码示例
- GO Unwrap用法及代码示例
- GO UnquoteChar用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 URL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。