【发布时间】:2019-08-10 09:45:15
【问题描述】:
试图追加到现有的查询字符串,但是“?”继续查询字符串被替换为 '%3'
server := "server.com"
endpoint:= "/buildWithParameters?token=<top_secret>"
// concat server and build job
u, err := url.Parse(server)
u.Path = path.Join(u.Path, endpoint)
endpoint := u.String()
// since we are appending to existing querystring, request is needed for parsing
req, err := http.NewRequest("POST", endpoint, nil)
if err != nil {
return fmt.Errorf("Error creating post request: (%v)", err)
}
// read existing query string
q := req.URL.Query()
q.Add("key", "value")
req.URL.RawQuery = q.Encode()
log.Println(req.URL.String())
输出是:
https://server.com/job/jobbyjob/buildWithParameters%3Ftoken=<top_secret>?key=value
【问题讨论】: