«

使用http.NewRequest函数创建一个新的GET请求对象,并设置请求头和参数

时间:2024-3-24 09:07     作者:韩俊     分类: Go语言


        <p style="text-indent:2em;">使用http.NewRequest函数创建一个新的GET请求对象,并设置请求头和参数</p><p style="text-indent:2em;">在Go语言中,我们可以使用http.NewRequest函数创建一个新的GET请求对象,并设置请求头和参数。http.NewRequest函数接受三个参数:请求方法、请求URL和请求体。我们可以使用http.MethodGet常量表示GET请求方法,使用字符串表示要发送的请求URL,如果没有请求体,可以传入nil。</p><p style="text-indent:2em;">我们首先需要导入net/http和fmt包:</p><pre>import (
&quot;fmt&quot;
&quot;net/http&quot;

)

然后,我们可以使用http.NewRequest函数创建一个新的GET请求对象,并设置请求头和参数。示例代码如下:

func main() {
url := "https://example.com/api&quot;
req, err := http.NewRequest(http.MethodGet, url, nil)
if err != nil {
fmt.Println("创建请求失败:", err)
return
}

// 设置请求头
req.Header.Add(&quot;Authorization&quot;, &quot;Bearer token123&quot;)

// 设置请求参数
query := req.URL.Query()
query.Add(&quot;key1&quot;, &quot;value1&quot;)
query.Add(&quot;key2&quot;, &quot;value2&quot;)
req.URL.RawQuery = query.Encode()

// 发送请求
client := http.Client{}
resp, err := client.Do(req)
if err != nil {
    fmt.Println(&quot;发送请求失败:&quot;, err)
    return
}
defer resp.Body.Close()

// 处理响应
fmt.Println(&quot;状态码:&quot;, resp.StatusCode)

}

在上面的示例中,我们创建了一个GET请求对象,并设置了请求头和参数。我们可以使用req.Header.Add方法添加请求头,使用req.URL.Query方法获取请求URL的查询参数,并使用query.Add方法添加参数。

最后,我们使用http.Client发送请求,并使用resp.StatusCode获取响应的状态码。这里我们使用了defer resp.Body.Close()语句来确保响应体在使用完毕后被关闭,以避免资源泄漏。

总结:使用http.NewRequest函数可以方便地创建一个新的GET请求对象,并设置请求头和参数。我们可以通过调用相关的方法来添加请求头和参数。发送请求和处理响应的代码也很简单,通过http.Client和resp.StatusCode即可。这样的代码结构清晰,方便扩展和维护。

标签: golang

热门推荐