Url 在传递查询字符串时获取该字符串
我是新来的Url 在传递查询字符串时获取该字符串,url,go,Url,Go,我是新来的Go。我的问题是如何在标准输出上获取URL编码的字符串 下面是我用来访问api的URL字符串 schooltubeapi/v1/channeldetails?channelName=long%20division%20 下面是我用来获取RawQuery的代码 url1 := ChannelName u, _ := url.Parse(url1) log.Println(u) u.RawQuery = u.Query().Encode() log.Println(u) [输出] 长除法
Go
。我的问题是如何在标准输出上获取URL编码的字符串
下面是我用来访问api的URL字符串
schooltubeapi/v1/channeldetails?channelName=long%20division%20
下面是我用来获取RawQuery的代码
url1 := ChannelName
u, _ := url.Parse(url1)
log.Println(u)
u.RawQuery = u.Query().Encode()
log.Println(u)
[输出]
长除法
[预期]
long%20division%20
我已经搜索了很多,但找不到类似的解决方案。对于url编码的字符串,请使用
url
struct ofurl
package获取URI中传递的RawQuery:
package main
import (
"fmt"
"net/url"
)
func main() {
stringValue := "long division "
t := &url.URL{Path: stringValue}
encodedString := t.String()
fmt.Println(encodedString)
}
在Golang的URL规范中。据说:-
路径字段以解码形式存储:/%47%6f%2f变为
/Go/。其结果是,不可能区分中的哪些斜杠
路径是原始URL中的斜杠,为%2f。这
区别很少很重要,但当它重要时,代码不能使用
直接的路径。Parse函数在
它返回的URL,如果URL的String方法是有效的,则使用RawPath
通过调用EscapedPath方法对路径进行编码
有关更多信息,请查看URL
RawQuery from。请记住:始终先阅读Go文档,然后阅读所有文档。
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)
ForceQuery bool // append a query ('?') even if RawQuery is empty
RawQuery string // encoded query values, without '?'
Fragment string // fragment for references, without '#'
}