許多語言(例如 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中有這樣的函數嗎?
1 回答
牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
是的,你可以使用類似這些的函數來做到這一點:
package main
import (
"encoding/base64"
"fmt"
"net/url"
)
func main() {
s := "enc*de Me Plea$e"
fmt.Println(EncodeParam(s))
fmt.Println(EncodeStringBase64(s))
}
func EncodeParam(s string) string {
return url.QueryEscape(s)
}
func EncodeStringBase64(s string) string {
return base64.StdEncoding.EncodeToString([]byte(s))
}
- 1 回答
- 0 關注
- 224 瀏覽
添加回答
舉報
0/150
提交
取消
