Go语言写个get的http请求带body和query信息
以下是一个使用Go语言发送带有body和query信息的HTTP GET请求的示例代码:
package main
import (
"fmt"
"net/http"
"net/url"
)
func main() {
// 准备请求的URL和参数
apiUrl := "https://example.com/api"
query := url.Values{}
query.Set("param1", "value1")
query.Set("param2", "value2")
// 准备请求的Body
requestBody := []byte(`{"key": "value"}`)
// 创建请求对象
req, err := http.NewRequest("GET", apiUrl+"?"+query.Encode(), bytes.NewBuffer(requestBody))
if err != nil {
fmt.Println("创建请求对象失败", err)
return
}
// 设置请求头
req.Header.Set("Content-Type", "application/json")
// 发送请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("发送请求失败", err)
return
}
defer resp.Body.Close()
// 处理响应
fmt.Println("响应状态码:", resp.StatusCode)
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("读取响应失败", err)
return
}
fmt.Println("响应内容:", string(body))
}
以上代码将创建一个HTTP GET请求对象,并设置了请求的URL、Query、Body和Header信息,然后使用http.Client发送请求,并处理了响应。通过修改query和requestBody变量的值,可以发送不同的请求
原文地址: https://www.cveoy.top/t/topic/fuD0 著作权归作者所有。请勿转载和采集!