Rumah > Artikel > pembangunan bahagian belakang > Artikel yang memperkenalkan pakej permintaan http Golang
Golang ialah bahasa pengaturcaraan yang berkembang pesat yang turut menarik perhatian ramai dalam pengaturcaraan rangkaian. Di Golang, pengaturcaraan rangkaian boleh dilakukan dengan mudah dengan menggunakan pakej permintaan http. Artikel ini akan memperkenalkan pakej permintaan http Golang, termasuk pengetahuan menghantar permintaan http, menerima respons http, dsb.
Di Golang, gunakan fungsi http.NewRequest() untuk mencipta permintaan http. Parameter fungsi ini termasuk kaedah permintaan, URL, badan permintaan, dsb.
func NewRequest(method, url string, body io.Reader) (*Request, error)
Kod contoh:
package main import ( "bytes" "fmt" "io/ioutil" "net/http" ) func main() { url := "http://example.com" jsonStr := []byte(`{"name":"John"}`) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) }
Dalam kod di atas, kami menggunakan fungsi http.NewRequest() untuk membuat permintaan POST dan menetapkan Jenis Kandungan pengepala permintaan . Gunakan http.Client{} untuk menghantar permintaan dan membaca badan tindak balas melalui fungsi ReadAll() bagi pakej ioutil.
Di Golang, struktur http.Response digunakan untuk mewakili respons http. Struktur termasuk kod status respons, pengepala respons, badan respons dan maklumat lain.
type Response struct { Status string StatusCode int Proto string ProtoMajor int ProtoMinor int Header Header Body io.ReadCloser ContentLength int64 TransferEncoding []string Close bool Uncompressed bool Trailer Header Request *Request TLS *tls.ConnectionState Cancel <-chan struct{} }
Kod contoh:
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("http://example.com") if err != nil { panic(err) } defer resp.Body.Close() fmt.Println("response Status:", resp.Status) fmt.Println("response Headers:", resp.Header) body, _ := ioutil.ReadAll(resp.Body) fmt.Println("response Body:", string(body)) }
Dalam kod di atas, kami menggunakan fungsi http.Get() untuk menghantar permintaan GET melalui resp.Status, resp.Header, resp .Body Dapatkan kod status respons, pengepala respons dan badan respons masing-masing, dan keluarkannya dalam bentuk rentetan.
Ringkasan
Pakej permintaan http Golang menyediakan antara muka pengaturcaraan rangkaian yang sangat mudah, menjadikan pengaturcaraan rangkaian mudah dan cekap. Kita boleh membuat permintaan http melalui fungsi seperti http.NewRequest() dan http.Get(), dan mendapatkan maklumat respons http melalui struktur http.Response. Menguasai pakej permintaan http Golang boleh meningkatkan kebolehgunaan semula kod dan kebolehbacaan apabila melaksanakan pelayan web dan perkhidmatan web.
Atas ialah kandungan terperinci Artikel yang memperkenalkan pakej permintaan http Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!