以下是一个使用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变量的值,可以发送不同的请求

Go语言写个get的http请求带body和query信息

原文地址: https://www.cveoy.top/t/topic/fuD0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录