Go 语言中,POST 请求可通过 net/http 包的 NewRequest 和 Client 类型实现。语法如下:创建请求:func postRequest(url, contentType string, body []byte)设置请求头:req.Header.Set("Content-Type", contentType)发送请求:resp, err := client.Do(req)读取响应体:body, err := ioutil.ReadAll(resp.Body)
Go 语言 POST 请求详解与实战应用
简介
POST 请求是 HTTP 请求的一种,用于向服务器发送数据。在 Go 语言中,POST 请求可以通过 net/http
包的 NewRequest
和 Client
类型来实现。
语法
import ( "bytes" "io/ioutil" "net/http" ) func postRequest(url, contentType string, body []byte) ([]byte, error) { req, err := http.NewRequest("POST", url, bytes.NewBuffer(body)) if err != nil { return nil, err } req.Header.Set("Content-Type", contentType) client := &http.Client{} resp, err := client.Do(req) if err != nil { return nil, err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return nil, err } return body, nil }
实战案例
创建一个简单的 Go 语言程序来发送 POST 请求并从服务器获取响应:
package main import ( "fmt" "net/http" "os" ) func main() { url := "http://example.com" contentType := "application/json" body := []byte(`{"name": "John Smith", "age": 30}`) resp, err := postRequest(url, contentType, body) if err != nil { fmt.Println(err) os.Exit(1) } fmt.Println(string(resp)) }
在这个示例中,我们向一个名为 example.com
的服务器发送 POST 请求,请求的主体是一个 JSON 对象。服务器可以处理这个 POST 请求并返回响应。
拓展阅读
以上是Go 语言 POST 请求详解与实战应用的详细内容。更多信息请关注PHP中文网其他相关文章!