golang http.get带参数
时间: 2023-09-24 08:10:40 浏览: 42
在 Golang 中使用 `http.Get` 发送 GET 请求时,可以将参数拼接在 URL 后面,例如:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
url := "https://www.example.com/api?key1=value1&key2=value2"
resp, err := http.Get(url)
if err != nil {
fmt.Println("Error: ", err)
return
}
defer resp.Body.Close()
// 处理响应数据...
}
```
如果你的参数中包含特殊字符(如空格、中文等),需要先进行 URL 编码,可以使用 `net/url` 包中的 `QueryEscape` 函数,例如:
```go
package main
import (
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Add("key1", "value1")
params.Add("key2", "value2 中文")
url := "https://www.example.com/api?" + params.Encode()
resp, err := http.Get(url)
if err != nil {
fmt.Println("Error: ", err)
return
}
defer resp.Body.Close()
// 处理响应数据...
}
```
这里使用 `url.Values` 对参数进行了组装,并使用 `Encode` 函数将参数编码后拼接在了 URL 后面。