Cara menggunakan Pergi untuk menghantar langkah permintaan HTTP JSON: Cipta objek http.Client. Cipta objek http.Request, dengan menyatakan URL dan kaedah. Tetapkan pengepala permintaan dan tetapkan Jenis Kandungan kepada aplikasi/json. Mengekodkan data JSON ke dalam tatasusunan bait. Menetapkan tatasusunan bait ke dalam badan permintaan. Hantar permintaan dan proses respons.
Cara menghantar permintaan HTTP JSON menggunakan Go
Pengenalan
Bahasa Go menjadikan penghantaran permintaan JSON sangat mudah dengan perpustakaan HTTPnya yang kaya. Artikel ini akan membimbing anda tentang cara menggunakan pakej net/http
untuk menghantar permintaan HTTP JSON dan menyediakan kes praktikal. net/http
包来发送 HTTP JSON 请求,并提供一个实战案例。
发送 JSON 请求
发送 JSON 请求需要以下步骤:
http.Client
对象。http.Request
对象,指定要发送请求的 URL 和方法。Content-Type
设置为 application/json
http.Client
. Buat objek http.Request
dan nyatakan URL dan kaedah untuk menghantar permintaan. Tetapkan pengepala permintaan dan tetapkan Content-Type
kepada application/json
.
Ekodkan data JSON ke dalam tatasusunan bait. Tetapkan tatasusunan bait ke dalam badan permintaan.
Hantar permintaan dan kendalikan respons.
🎜🎜🎜Contoh Kod🎜🎜import ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" ) func main() { // 创建数据 data := map[string]string{"name": "Alice", "age": "25"} // 编码 JSON 数据 jsonBytes, err := json.Marshal(data) if err != nil { fmt.Printf("Error encoding JSON: %v", err) return } // 创建请求 req, err := http.NewRequest("POST", "http://example.com", bytes.NewReader(jsonBytes)) if err != nil { fmt.Printf("Error creating request: %v", err) return } // 设置请求头 req.Header.Set("Content-Type", "application/json") // 发送请求 client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Printf("Error sending request: %v", err) return } // 读取响应 defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Printf("Error reading response: %v", err) return } fmt.Println("Response:", string(body)) }
// 创建用户数据 type User struct { Name string `json:"name"` Age int `json:"age"` } user := &User{Name: "Bob", Age: 30} // 编码 JSON 数据 jsonBytes, err := json.Marshal(user) // ... // ... 使用上文中的其余代码发送请求 ...
Atas ialah kandungan terperinci Bagaimana untuk menghantar permintaan HTTP JSON menggunakan Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!