Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci dan aplikasi praktikal permintaan POST dalam bahasa Go
Dalam bahasa Go, permintaan POST boleh dilaksanakan melalui jenis NewRequest dan Klien bagi pakej net/http. Sintaksnya adalah seperti berikut: Cipta permintaan: func postRequest(url, contentType string, body []bait) Tetapkan pengepala permintaan: req.Header.Set("Content-Type", contentType) Hantar permintaan: resp, err := client. Do(req )Baca badan respons: body, err := ioutil.ReadAll(resp.Body)
Go bahasa POST permintaan penjelasan terperinci dan aplikasi praktikal
Pengenalan
permintaan POST adalah sejenis permintaan HTTP Digunakan untuk menghantar data ke pelayan. Dalam bahasa Go, permintaan POST boleh dilaksanakan melalui jenis NewRequest
dan Client
bagi pakej net/http
. 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
Syntaxrrreee
Atas ialah kandungan terperinci Penjelasan terperinci dan aplikasi praktikal permintaan POST dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!