在Go中添加查询字符串url
我需要将http请求发送到在Go中添加查询字符串url,url,go,Url,Go,我需要将http请求发送到https://some-domain.com/getsomething/?id=myID 我有一个url,需要添加一个查询参数。这是我的密码 baseUrl := "https://some-domain.com" relativeUrl := "/getsomething/" url, _ := url.Parse(baseUrl) url.Path = path.Join(url.Path, relativeUrl) // add parameter to qu
https://some-domain.com/getsomething/?id=myID
我有一个url,需要添加一个查询参数。这是我的密码
baseUrl := "https://some-domain.com"
relativeUrl := "/getsomething/"
url, _ := url.Parse(baseUrl)
url.Path = path.Join(url.Path, relativeUrl)
// add parameter to query string
queryString := url.Query()
queryString.Set("id", "1")
// add query to url
url.RawQuery = queryString.Encode()
// print it
fmt.Println(url.String())
在输出中,我看到以下url:https://some-domain.com/getsomething?id=1
这是必需的:https://some-domain.com/getsomething/?id=1
您可以看到在?
之前没有/
字符
您知道如何在不进行手动字符串操作的情况下修复它吗
您可以使用
这个代码一切正常,对我来说输出是
https://some-domain.com/getsomething/?id=1
。我已经编辑了您的代码,因为该函数将字符串作为值。我尝试了您的程序,输出符合您的要求(https://some-domain.com/getsomething/?id=1
)。在操场上-对不起,我把这个问题中的代码做得更简单了。更新了。耶,我的错。更新。
package main
import (
"fmt"
"log"
"net/url"
)
func main() {
relativeUrl := "/getsomething/"
u, err := url.Parse(relativeUrl)
if err != nil {
log.Fatal(err)
}
queryString := u.Query()
queryString.Set("id", "1")
u.RawQuery = queryString.Encode()
baseUrl := "https://some-domain.com"
base, err := url.Parse(baseUrl)
if err != nil {
log.Fatal(err)
}
fmt.Println(base.ResolveReference(u))
}