Gunakan fungsi net/http.Request untuk menghantar permintaan HTTP tersuai dan dapatkan kod status respons dan pengepala respons
Permintaan HTTP ialah protokol komunikasi yang sangat biasa dan penting dalam komunikasi rangkaian moden. Dalam bahasa Go, kami boleh menggunakan fungsi Request dalam pakej net/http untuk menghantar permintaan HTTP, dan kami boleh menyesuaikan pelbagai bahagian permintaan. Artikel ini akan memperkenalkan cara menggunakan fungsi Permintaan untuk menghantar permintaan HTTP dan mendapatkan kod status respons dan pengepala respons.
Pertama, kita perlu mengimport pakej net/http untuk menggunakan fungsi Request:
import ( "net/http" "fmt" )
Seterusnya, kita boleh menggunakan fungsi Request untuk menghantar permintaan HTTP. Fungsi Permintaan menerima parameter, iaitu objek Permintaan, yang mentakrifkan pelbagai bahagian permintaan, seperti kaedah permintaan, URL, pengepala permintaan, badan permintaan, dsb. Kami boleh menyesuaikan permintaan dengan mencipta objek Permintaan dan menetapkan sifat yang sepadan.
Berikut ialah contoh menghantar permintaan GET:
func main() { // 创建Request对象 req, err := http.NewRequest("GET", "http://www.example.com", nil) if err != nil { fmt.Println("创建请求失败:", err) return } // 发送HTTP请求 client := &http.Client{} res, err := client.Do(req) if err != nil { fmt.Println("发送请求失败:", err) return } // 获取响应状态码 fmt.Println("状态码:", res.StatusCode) // 获取响应头 for key, value := range res.Header { fmt.Println(key, ":", value) } }
Dalam contoh di atas, kami mencipta objek Permintaan untuk permintaan GET dengan memanggil fungsi http.NewRequest. Parameter "GET" menunjukkan kaedah permintaan, "http://www.example.com" menunjukkan URL permintaan dan nol menunjukkan bahawa isi permintaan kosong. Kami kemudian menghantar permintaan dengan memanggil client.Do(req) dan simpan respons yang dikembalikan dalam pembolehubah res.
Seterusnya, kita boleh mendapatkan kod status respons dengan menghubungi res.StatusCode. Untuk permintaan yang berjaya, kod status biasanya 200 untuk ubah hala, ralat pelayan dan situasi lain, kod status akan mempunyai nilai yang berbeza.
Akhir sekali, kami mendapat maklumat pengepala respons dengan melintasi res.Header. Pengepala respons ialah peta, di mana kunci mewakili nama medan pengepala respons dan nilai mewakili nilai yang sepadan. Kami boleh memproses pengepala respons seperti yang diperlukan.
Selain permintaan GET, kami juga boleh menghantar jenis permintaan lain, seperti POST, PUT, DELETE, dll. Hanya tetapkan kaedah permintaan yang sepadan semasa membuat objek Permintaan.
Dengan menggunakan fungsi Permintaan dalam pakej net/http, kami boleh menghantar pelbagai jenis permintaan HTTP secara fleksibel dan mendapatkan kod status respons dan pengepala respons. Ini memberi kita lebih kebebasan dan fleksibiliti dalam komunikasi rangkaian. Saya berharap kandungan artikel ini dapat membantu pembaca.
Atas ialah kandungan terperinci Gunakan fungsi net/http.Request untuk menghantar permintaan HTTP tersuai dan dapatkan kod status respons dan pengepala respons. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!