Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Grequest is inspired by the Request library for Python for GO

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
6,768
Баллы
155
Simple and lightweight golang package for http requests. based on powerful net/http

Grequest is inspired by the Request library for Python and Guzzle in PHP, the goal is to make a simple and convenient library for making http requests in go

The library has a flexible API with methods that return a pointer to the library structure, which allows you to declaratively describe a request using a chain of methods.

Installation


go get github.com/lib4u/grequest
Usage


Simple get request anf get string response


req := app.Get("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Do()
response := req.Body().GetStrings()
fmt.Println(response)

Get a response and writing it to a json structure


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("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Do()
err := req.Body().GetWithJsonStruct(&myJsonResponse)
if err != nil {
fmt.Println("do ..")
}
fmt.Println(myJsonResponse.Title)

Simple post request with json payload body and get status of response


data := LoginRequest{
Username: "example",
Password: "12345",
}
req := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Body().SetJson(data).Do()
fmt.Println(req.Status().GetCode())

Simple save file from response


// file will saved as ../files/image.png
app.Get("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Do().Body().SaveFile()
//OR
app.Get("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Do().Body().Path("/user/files").SaveFile()
//OR
app.Get("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

").Do().Body().ToFile("path/savedimage.png")

Sending form with files and text fields and set header


req := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

")
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()
.....

Request with authentication


//With basic auth
req := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

)
req.Header().Set("Client", "number_1")
req.Auth().SetBasic("user", "password")
req.Do()
...
//Sets bearer token
req := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

)
req.Header().Set("Client", "number_1")
req.Auth().SetBearer("myToken")
req.Do()

Work with cookie


//Save cookie to file
//By default this saved in cookies/example.site/cookies.json
req := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

")
req.Cookie().Save()
...
// Load saved cookies form cookies/example.site/cookies.json
reqWithCookie := app.Post("

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

")
reqWithCookie.Cookie().Load()
reqWithCookie.Do()
...


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх