> 백엔드 개발 > Golang > Grequest는 Python for GO의 요청 라이브러리에서 영감을 받았습니다.

Grequest는 Python for GO의 요청 라이브러리에서 영감을 받았습니다.

DDD
풀어 주다: 2025-01-07 07:18:44
원래의
467명이 탐색했습니다.

Grequest is inspired by the Request library for Python for GO

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿