Rumah >pembangunan bahagian belakang >Golang >golang memulakan permintaan
Golang ialah bahasa pengaturcaraan yang pantas, ringkas dan selamat digunakan secara meluas untuk pembangunan aplikasi web. Memulakan permintaan HTTP di Golang ialah tugas yang sangat biasa Artikel ini akan memperkenalkan cara untuk memulakan permintaan HTTP di Golang.
Berikut ialah contoh mudah:
package main import ( "fmt" "net/http" ) func main() { response, err := http.Get("https://www.google.com") if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dalam contoh ini, kami menggunakan kaedah http.Get() untuk memulakan permintaan HTTP GET dan mendapatkan respons. Perlu diingatkan bahawa tindak balas Badan mesti ditutup selepas digunakan.
Berikut ialah contoh:
package main import ( "fmt" "net/http" "net/url" ) func main() { formData := url.Values{ "username": {"admin"}, "password": {"123456"}, } response, err := http.PostForm("http://localhost:8080/login", formData) if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dalam contoh ini, kami menggunakan kaedah http.PostForm() untuk menghantar permintaan POST dengan data borang dan mendapatkan respons. Perlu diingatkan bahawa data borang perlu dikapsulkan menggunakan jenis url.Values.
Berikut ialah contoh:
package main import ( "fmt" "net/http" ) func main() { request, err := http.NewRequest("GET", "https://www.google.com", nil) if err != nil { fmt.Println("创建请求失败:", err) return } request.Header.Set("X-Custom-Header", "Golang") client := &http.Client{} response, err := client.Do(request) if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dalam contoh ini, kami menggunakan kaedah http.NewRequest() untuk membuat permintaan tersuai dan menyediakan kepala permintaan tersuai. Perlu diingat bahawa kami menggunakan jenis http.Client{} untuk menghantar permintaan.
Berikut ialah contoh menggunakan perpustakaan httpclient untuk menghantar permintaan HTTP:
package main import ( "fmt" "github.com/mozillazg/request" ) func main() { client := request.New() response, err := client.Get("https://www.google.com") if err != nil { fmt.Println("请求错误:", err) return } defer response.Body.Close() fmt.Println("响应状态码:", response.Status) }
Dalam contoh ini, kami menggunakan perpustakaan httpclient untuk mencipta klien HTTP dan menghantar GET bertanya.
Ringkasan
Memulakan permintaan HTTP di Golang ialah tugas yang sangat biasa. Pakej net/http dalam pustaka standard Golang sudah menyediakan pelaksanaan klien dan pelayan HTTP, yang boleh memenuhi kebanyakan keperluan. Untuk keperluan yang lebih kompleks, kami boleh menggunakan perpustakaan pihak ketiga untuk meningkatkan kebolehbacaan dan prestasi kod. Semasa menulis permintaan HTTP, anda perlu memberi perhatian kepada beberapa butiran Contohnya: Badan respons mesti ditutup selepas digunakan, dan data borang perlu dirangkumkan menggunakan jenis url.Values, dsb.
Atas ialah kandungan terperinci golang memulakan permintaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!