Go语言实战:网络编程之HTTP客户端
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 创建HTTP客户端
client := &http.Client{}
// 准备请求
req, err := http.NewRequest("GET", "http://httpbin.org/get", nil)
if err != nil {
fmt.Println("请求创建失败:", err)
return
}
// 设置请求头信息
req.Header.Set("User-Agent", "My-Application")
// 发送请求
resp, err := client.Do(req)
if err != nil {
fmt.Println("请求发送失败:", err)
return
}
defer resp.Body.Close() // 确保关闭响应体
// 读取响应体
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("读取响应失败:", err)
return
}
// 打印响应内容
fmt.Println("响应状态码:", resp.StatusCode)
fmt.Println("响应头:", resp.Header)
fmt.Println("响应体:", string(body))
}
这段代码创建了一个HTTP客户端,准备了一个GET请求,设置了请求头,发送请求并读取了响应,最后打印了响应的状态码、头部和主体内容。这是一个基本的HTTP客户端实现,适用于学习和实践网络编程的场景。
评论已关闭