Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mendapatkan permintaan menggunakan golang (contoh kod)
golang ialah bahasa pengaturcaraan yang popular dalam bidang pembangunan web. Apabila menggunakan golang, selalunya diperlukan untuk mendapatkan permintaan pada pelayan dan melaksanakan operasi yang sepadan pada permintaan. Artikel ini akan memperkenalkan cara menggunakan golang untuk mendapatkan permintaan, dan memberikan beberapa contoh kod praktikal.
Mendapatkan permintaan dalam golang biasanya memerlukan penggunaan pakej http. Permintaan HTTP boleh dikendalikan dan dikendalikan dengan mudah pada pelayan menggunakan pakej http. Pakej http menyediakan banyak fungsi untuk mengendalikan permintaan HTTP, termasuk menghuraikan pengepala permintaan HTTP, menghuraikan badan permintaan HTTP, dsb. Apabila menulis pelayan HTTP dalam pakej http, kami biasanya menggunakan fungsi http.ListenAndServe untuk mendengar permintaan HTTP.
Berikut ialah contoh mudah yang menunjukkan cara menggunakan pakej http dalam golang untuk menghuraikan permintaan HTTP:
package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello World!") } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }
Kod di atas menunjukkan pelayan HTTP yang sangat mudah. Pelayan mendengar pada port 8080. Apabila permintaan dihantar ke pelayan, pelayan akan mengembalikan respons Hello World!
. Dalam contoh ini, kami mendaftarkan fungsi pemprosesan permintaan melalui http.HandleFunc, supaya apabila permintaan sampai ke pelayan, pelayan akan menghantar permintaan kepada fungsi pemprosesan yang sepadan.
Gunakan fungsi http.NewRequest
untuk membuat permintaan HTTP. Parameter pertama fungsi ini ialah kaedah permintaan, seperti GET
, POST
, dsb., dan parameter kedua ialah URL permintaan. Untuk URL yang diminta, anda boleh menggunakan fungsi url.Parse
untuk menghuraikan rentetan ke dalam objek URL.
Melalui kaedah ini, anda boleh membina permintaan HTTP, contohnya:
package main import ( "net/http" "net/url" ) func main () { u, _ := url.Parse("http://localhost:8080") req := http.NewRequest("GET", u.String(), nil) client := &http.Client{} client.Do(req) }
Kod di atas menunjukkan cara menggunakan fungsi http.NewRequest
untuk membuat permintaan HTTP. Permintaan ini menggunakan kaedah GET
dan dihantar pada port 8080 localhost
. Melalui fungsi client.Do(req)
, permintaan ini akan dihantar ke pelayan, dan pelayan akan mengembalikan respons HTTP.
Jika anda ingin menghantar data dalam permintaan, anda boleh menggunakan http.Request
pembolehubah ahli struktur Body
. Pembolehubah ahli ini ialah jenis antara muka io.Reader
, yang membolehkan anda membaca isi permintaan dengan mudah, contohnya:
package main import ( "bytes" "net/http" ) func main () { data := []byte("hello") req, _ := http.NewRequest("POST", "http://localhost:8080", bytes.NewBuffer(data)) client := &http.Client{} client.Do(req) }
Kod di atas menunjukkan cara menambah data pada permintaan. Kami menggunakan fungsi bytes.NewBuffer
untuk membalut rentetan hello
ke dalam objek io.Reader
jenis antara muka, dan kemudian memperuntukkannya kepada pembolehubah ahli Body
yang diminta. Data ini dikodkan ke dalam badan permintaan HTTP sebelum permintaan dihantar ke pelayan.
Ringkasan: Artikel ini memperkenalkan cara mendapatkan permintaan HTTP dalam golang dan menunjukkan beberapa contoh kod yang sepadan. Jika anda baru mula menggunakan golang dan perlu mengendalikan permintaan HTTP pada pelayan, artikel ini akan membantu anda bermula.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan permintaan menggunakan golang (contoh kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!