2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
是,表示片段。#
解決這個(gè)問題的一種方法是轉(zhuǎn)義角色:#
connString := fmt.Sprintf("postgresql://postgres:password%s@192.168.1.10:5432/postgres", url.PathEscape("#"))
parsedUrl, _ := url.Parse(connString)
fmt.Println(url.PathUnescape(parsedUrl.User.String()))
輸出:
postgres:password# <nil>

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用url.QueryEscape()
例
package main
import (
"fmt"
"net/url"
)
func main() {
connString := `postgresql://postgres:` + url.QueryEscape(`password#`) + `@192.168.1.10:5432/postgres`
xurl, err := url.Parse(connString)
if err != nil {
fmt.Println(err)
}
fmt.Println("=")
fmt.Println(xurl.User.Username())
fmt.Println(xurl.User.Password())
fmt.Println("=")
}
- 2 回答
- 0 關(guān)注
- 80 瀏覽
添加回答
舉報(bào)