Практика HTTP-клиента в Go
Дан адрес:
https://example.com
Выполните запрос, закройте тело ответа отложенно и выведите код состояния.
Дан следующий код:
params := url.Values{}
params.Set("q", "book")
base := "https://example.com/search"
Соберите полный адрес, выполните запрос и выведите длину тела ответа.
Даны переменные:
addr := "http://127.0.0.1:8080/api"
client := &http.Client{}
Создайте запрос с методом получения, задайте
заголовок Accept со значением
"text/plain", отправьте через
client и выведите заголовок ответа
Content-Type.
Дан следующий код:
payload := []byte(`{"ok":true}`)
addr := "http://127.0.0.1:8080/check"
Отправьте тело как JSON, прочитайте код состояния ответа и закройте тело ответа.
Дан следующий код:
client := &http.Client{
CheckRedirect: func(
req *http.Request,
via []*http.Request,
) error {
return http.ErrUseLastResponse
},
}
addr := "https://example.com"
Выполните запрос этим клиентом и выведите код первого ответа без следования переходу.
Дан следующий код:
addr := "https://example.com"
ctx, cancel := context.WithTimeout(
context.Background(),
2*time.Second,
)
Привяжите ctx к запросу, повесьте
cancel на defer, отправьте
запрос и при успехе выведите код состояния.