在net/http
标准包的client.go
文件中,Post
方法使用POST
请求方式访问指定的URL
。下面是标准包中的定义,可以看到它是对DefaultClient.Post
方法的包裹。如果你想使用自定义的headers
,那么需要使用NewRequest
和DefaultClient.Do
方法。
func Post(url, contentType string, body io.Reader) (resp *Response, err error) {
return DefaultClient.Post(url, contentType, body)
}
DefaultClient
是默认的客户端,它支持GET
,HEAD
和POST
请求方式。
var DefaultClient = &Client{}
同时Go
还提供了对应的接口,在Client
结构体上调用这个接口。接口如下:
func (c *Client) Post (url, contentType string, body io.Reader) (resp *Response,err error) {
req, err := NewRequest("POST", url, body)
if err != nil {
return nil, err
}
req.Header.Set("Content-Type", contentType)
return c.Do(req)
}