http 요청을 위한 간단하고 가벼운 golang 패키지입니다. 강력한 net/http 기반
Grequest는 PHP의 Python 및 Guzzle용 요청 라이브러리에서 영감을 얻었으며, Go에서 http 요청을 만들기 위한 간단하고 편리한 라이브러리를 만드는 것이 목표입니다.
라이브러리에는 라이브러리 구조에 대한 포인터를 반환하는 메서드가 포함된 유연한 API가 있으므로 메서드 체인을 사용하여 요청을 선언적으로 설명할 수 있습니다.
go get github.com/lib4u/grequest
간단한 요청 받기 및 문자열 응답 받기
req := app.Get("https://jsonplaceholder.typicode.com/todos/1").Do() response := req.Body().GetStrings() fmt.Println(response)
응답을 받아 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)
json 페이로드 본문을 사용한 간단한 게시물 요청 및 응답 상태 가져오기
data := LoginRequest{ Username: "example", Password: "12345", } req := app.Post("https://example.site/login").Body().SetJson(data).Do() fmt.Println(req.Status().GetCode())
응답에서 간단한 저장 파일
// 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")
파일과 텍스트 필드가 포함된 양식 보내기 및 헤더 설정
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() .....
인증요청
//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()
쿠키 작업
//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() ...
위 내용은 Grequest는 Python for GO의 요청 라이브러리에서 영감을 받았습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!