如何使用http.NewRequest函数创建GET请求并精确设置请求头与参数?
- 内容介绍
- 相关推荐
本文共计405个文字,预计阅读时间需要2分钟。
使用 `http.NewRequest` 函数创建一个GET请求对象,并设置请求头和参数。
使用example.com/api" req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { fmt.Println("创建请求失败:", err) return } // 设置请求头 req.Header.Add("Authorization", "Bearer token123") // 设置请求参数 query := req.URL.Query() query.Add("key1", "value1") query.Add("key2", "value2") req.URL.RawQuery = query.Encode() // 发送请求 client := http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("发送请求失败:", err) return } defer resp.Body.Close() // 处理响应 fmt.Println("状态码:", 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即可。这样的代码结构清晰,方便扩展和维护。
本文共计405个文字,预计阅读时间需要2分钟。
使用 `http.NewRequest` 函数创建一个GET请求对象,并设置请求头和参数。
使用example.com/api" req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { fmt.Println("创建请求失败:", err) return } // 设置请求头 req.Header.Add("Authorization", "Bearer token123") // 设置请求参数 query := req.URL.Query() query.Add("key1", "value1") query.Add("key2", "value2") req.URL.RawQuery = query.Encode() // 发送请求 client := http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("发送请求失败:", err) return } defer resp.Body.Close() // 处理响应 fmt.Println("状态码:", 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即可。这样的代码结构清晰,方便扩展和维护。

