Rumah >pembangunan bahagian belakang >Golang >Laksanakan permintaan POST dalam bahasa Go dengan cekap
Untuk menghantar permintaan POST dalam bahasa Go, anda boleh mengikuti langkah berikut: Import pakej yang diperlukan. Buat klien http. Buat permintaan http, nyatakan kaedah, URL dan badan permintaan. Tetapkan pengepala permintaan yang diperlukan. Laksanakan permintaan dan dapatkan respons. Memproses badan tindak balas.
Permintaan POST sangat berguna apabila berinteraksi dengan pelayan web, seperti menyerahkan borang atau mencipta sumber baharu. Dalam Go, gunakan pakej net/http
untuk menghantar permintaan POST dengan mudah. net/http
包轻松发送 POST 请求。
import "net/http"
http
客户端创建一个 http
客户端来处理请求:
client := http.Client{}
http
请求使用 http.NewRequest
创建一个新的 http
请求,指定方法、URL 和请求正文(如果需要):
req, err := http.NewRequest("POST", "https://example.com", body) if err != nil { // 处理错误 }
为请求设置任何必要的标头,例如 Content-Type
:
req.Header.Set("Content-Type", "application/json")
使用 client.Do
执行请求并获取响应:
resp, err := client.Do(req) if err != nil { // 处理错误 }
使用 resp.Body
读取并处理响应正文:
defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } fmt.Println(string(body))
考虑一个 API,其中我们需要使用 POST 请求创建新用户:
const userURL = "https://example.com/api/v1/users" type User struct { Name string `json:"name"` } func main() { client := http.Client{} user := User{ Name: "My New User", } jsonBytes, err := json.Marshal(user) if err != nil { // 处理错误 } req, err := http.NewRequest("POST", userURL, bytes.NewReader(jsonBytes)) if err != nil { // 处理错误 } req.Header.Set("Content-Type", "application/json") resp, err := client.Do(req) if err != nil { // 处理错误 } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } fmt.Println(string(body)) }
在上面的示例中,我们首先创建了一个 User
结构体来表示新用户。然后,我们将用户数据序列化为 JSON 并构建了一个新的 http.Request
"net/http"
🎜http
klienhttp
untuk mengendalikan permintaan: 🎜rrreeehttp
http.NewRequest
untuk mencipta. Permintaan http
baharu, menyatakan kaedah, URL dan isi permintaan (jika diperlukan): 🎜rrreeeContent-Type
: 🎜rrreeeclient.Do
untuk melaksanakan permintaan dan dapatkan respons: 🎜rrreee<. h3>6. Memproses respons🎜Gunakan resp.Body
untuk membaca dan memproses badan respons: 🎜rrreeehttp.Request
baharu. Akhir sekali, kami melaksanakan permintaan dan mengendalikan respons. 🎜Atas ialah kandungan terperinci Laksanakan permintaan POST dalam bahasa Go dengan cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!