此问题已经在这里有了答案:
[许多语言,例如JavaScript和PHP,都具有urlencode()
函数,可以用来对查询字符串参数的内容进行编码。
"example.com?value=" + urlencode("weird string & number: 123")
这可确保对&
,%
,空格等进行编码,以便您的URL保持有效。
我发现golang提供了一个URL包,并且它为query string values提供了一个Encode() function。这很好用,但是在我的情况下,这需要我解析URL,而我不想这样做。
我的URL由客户端声明,不更改顺序,并且可能会影响潜在的重复参数(在URL中是合法的东西)。所以我像这样使用Replace()
:
func tweak(url string) string {
url.Replace("@VALUE@", new_value, -1)
return url
}
[C0应该用作查询字符串参数的值,如下所示:
@VALUE@
所以,我想做的是这个:
example.com?username=@VALUE@
在Golang中有这样的功能容易访问吗?
是的,您可以在这里使用类似这些的功能来做到这一点
url.Replace("@VALUE@", urlencode(new_value), -1)