Einfaches und leichtes Golang-Paket für http-Anfragen. basierend auf leistungsstarkem Netz/http
Grequest ist von der Request-Bibliothek für Python und Guzzle in PHP inspiriert. Ziel ist es, eine einfache und praktische Bibliothek zum Erstellen von http-Anfragen in go zu erstellen
Die Bibliothek verfügt über eine flexible API mit Methoden, die einen Zeiger auf die Bibliotheksstruktur zurückgeben, sodass Sie eine Anfrage mithilfe einer Methodenkette deklarativ beschreiben können.
go get github.com/lib4u/grequest
Einfache Get-Anfrage und Get-String-Antwort
req := app.Get("https://jsonplaceholder.typicode.com/todos/1").Do() response := req.Body().GetStrings() fmt.Println(response)
Erhalten Sie eine Antwort und schreiben Sie sie in eine JSON-Struktur
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)
Einfache Post-Anfrage mit JSON-Nutzlasttext und Status der Antwort abrufen
data := LoginRequest{ Username: "example", Password: "12345", } req := app.Post("https://example.site/login").Body().SetJson(data).Do() fmt.Println(req.Status().GetCode())
Einfaches Speichern der Datei aus der Antwort
// 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")
Formular mit Dateien und Textfeldern senden und Kopfzeile festlegen
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() .....
Anfrage mit Authentifizierung
//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()
Mit Cookies arbeiten
//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() ...
Das obige ist der detaillierte Inhalt vonGrequest ist von der Request-Bibliothek für Python für GO inspiriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!