许多语言(例如 JavaScript 和 PHP)都有一种urlencode()函数,可用于对查询字符串参数的内容进行编码。
"example.com?value=" + urlencode("weird string & number: 123")
这可确保对&、%、 空格等进行编码,以便您的 URL 保持有效。
我看到golang提供了一个URL包,它有一个用于查询字符串值的Encode()函数。这很有效,但在我的情况下,它需要我解析 URL,但我宁愿不这样做。
我的 URL 由客户端声明,不会更改顺序,并且潜在的重复参数(这是 URL 中的合法参数)可能会受到影响。所以我使用Replace()像这样:
func tweak(url string) string {
url.Replace("@VALUE@", new_value, -1)
return url
}
预计@VALUE@将用作查询字符串参数的值,如下所示:
example.com?username=@VALUE@
所以,我想做的是:
url.Replace("@VALUE@", urlencode(new_value), -1)
Golang中有这样的函数吗?
牛魔王的故事
相关分类