Go语言发送http请求常见用法
在Go语言中,发送HTTP请求通常使用net/http
标准库。以下是一些常见的发送HTTP请求的方法:
- 使用
http.Get
发送GET请求:
resp, err := http.Get("http://example.com")
if err != nil {
// 处理错误
}
defer resp.Body.Close()
// 处理响应
- 使用
http.Post
发送POST请求:
resp, err := http.Post("http://example.com", "application/json", strings.NewReader(`{"key": "value"}`))
if err != nil {
// 处理错误
}
defer resp.Body.Close()
// 处理响应
- 使用
http.NewRequest
创建自定义请求,然后使用http.Do
发送:
req, err := http.NewRequest("GET", "http://example.com", nil)
if err != nil {
// 处理错误
}
// 设置请求头
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
// 处理错误
}
defer resp.Body.Close()
// 处理响应
- 使用
http.Client
的方法发送请求,并处理响应:
client := &http.Client{}
req, err := http.NewRequest("POST", "http://example.com", strings.NewReader(`{"key": "value"}`))
if err != nil {
// 处理错误
}
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
if err != nil {
// 处理错误
}
defer resp.Body.Close()
// 处理响应
这些例子展示了如何使用Go语言发送不同类型的HTTP请求,并处理响应。在实际应用中,你可能还需要处理cookies、超时、重定向、错误处理等问题,但这些基本方法是发送HTTP请求的核心。
评论已关闭