Pakej golang yang ringkas dan ringan untuk permintaan http. berdasarkan jaring/http
yang berkuasaGrequest diilhamkan oleh pustaka Permintaan untuk Python dan Guzzle dalam PHP, matlamatnya adalah untuk membuat perpustakaan yang mudah dan mudah untuk membuat permintaan http dalam go
Pustaka mempunyai API yang fleksibel dengan kaedah yang mengembalikan penunjuk kepada struktur perpustakaan, yang membolehkan anda mengisytiharkan permintaan secara deklaratif menggunakan rangkaian kaedah.
go get github.com/lib4u/grequest
Mudah dapatkan permintaan dan dapatkan respons rentetan
req := app.Get("https://jsonplaceholder.typicode.com/todos/1").Do() response := req.Body().GetStrings() fmt.Println(response)
Dapatkan respons dan tuliskannya pada struktur json
type AutoGenerated struct { UserID int `json:"userId"` ID int `json:"id"` Title string `json:"title"` Completed bool `json:"completed"` } ... var myJsonResponse AutoGenerated req := app.Get("https://jsonplaceholder.typicode.com/todos/1").Do() err := req.Body().GetWithJsonStruct(&myJsonResponse) if err != nil { fmt.Println("do ..") } fmt.Println(myJsonResponse.Title)
Permintaan pos ringkas dengan badan muatan json dan dapatkan status respons
data := LoginRequest{ Username: "example", Password: "12345", } req := app.Post("https://example.site/login").Body().SetJson(data).Do() fmt.Println(req.Status().GetCode())
Simpan fail dengan mudah daripada respons
// file will saved as ../files/image.png app.Get("https://example.com/image.png").Do().Body().SaveFile() //OR app.Get("https://example.com/image.png").Do().Body().Path("/user/files").SaveFile() //OR app.Get("https://example.com/image.png").Do().Body().ToFile("path/savedimage.png")
Menghantar borang dengan fail dan medan teks dan tetapkan pengepala
req := app.Post("https://example.site/form/") req.Header().Set("Client", "number_1") form := req.FormData().WithMultipart() form.AddField("first_name", "John") form.AddField("last_name", "Doe") form.AddFile("photo", "my_photo.png") form.AddFile("documents", "example.txt") form.AddFile("documents", "example2.txt") form.Push() req.Do() .....
Permintaan dengan pengesahan
//With basic auth req := app.Post("https://example.site/secret) req.Header().Set("Client", "number_1") req.Auth().SetBasic("user", "password") req.Do() ... //Sets bearer token req := app.Post("https://example.site/secret) req.Header().Set("Client", "number_1") req.Auth().SetBearer("myToken") req.Do()
Kerja dengan kuki
//Save cookie to file //By default this saved in cookies/example.site/cookies.json req := app.Post("https://example.site/cookies") req.Cookie().Save() ... // Load saved cookies form cookies/example.site/cookies.json reqWithCookie := app.Post("https://example.site/cookies") reqWithCookie.Cookie().Load() reqWithCookie.Do() ...
Atas ialah kandungan terperinci Grequest diilhamkan oleh perpustakaan Permintaan untuk Python untuk GO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!