Golang net/http标准库Request类型
在Golang中,net/http
标准库提供了Request
类型,它代表了一个HTTP请求。以下是Request
类型的一些常见用法:
- 获取请求的方法:
req, _ := http.NewRequest("GET", "http://example.com", nil)
fmt.Println(req.Method) // 输出:GET
- 获取请求的URL:
req, _ := http.NewRequest("GET", "http://example.com", nil)
fmt.Println(req.URL) // 输出:http://example.com
- 获取请求头信息:
req, _ := http.NewRequest("GET", "http://example.com", nil)
if req.Header != nil {
for k, v := range req.Header {
fmt.Println(k, v)
}
}
- 设置或修改请求头信息:
req, _ := http.NewRequest("GET", "http://example.com", nil)
req.Header.Set("Content-Type", "application/json")
fmt.Println(req.Header.Get("Content-Type")) // 输出:application/json
- 获取请求体(Body):
req, _ := http.NewRequest("GET", "http://example.com", bytes.NewBuffer([]byte("{\"name\":\"John\"}")))
body, _ := ioutil.ReadAll(req.Body)
fmt.Println(string(body)) // 输出:{"name":"John"}
- 获取客户端发送的Cookie:
req, _ := http.NewRequest("GET", "http://example.com", nil)
req.AddCookie(&http.Cookie{Name: "go_cookie", Value: "test_cookie"})
for _, cookie := range req.Cookies() {
fmt.Println(cookie.Name, cookie.Value) // 输出:go_cookie test_cookie
}
以上代码片段展示了如何使用net/http
标准库中的Request
类型的一些常用属性和方法。在实际应用中,你可以根据需要使用这些属性和方法来处理HTTP请求。
评论已关闭