Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpHtRqH 254 of 299 menu
◀ ▶

Заголовки запроса в Kotlin

Заголовки запроса - пары имя и значение, которые идут до тела. Построитель HttpRequest принимает их вызовом header или setHeader для одного поля.

Путь "/headers" на httpbin.org возвращает переданные заголовки в теле ответа. Достаточно задать, например, тип принимаемого текста:

import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse fun main() { val client = HttpClient.newBuilder().build() val request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/headers")) .header("Accept", "text/plain") .GET() .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.body()) }

Собственные имена вроде "X-Trace" тоже доходят до сервера. Их часто используют для меток трассировки или версии клиента:

import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse fun main() { val client = HttpClient.newBuilder().build() val request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/headers")) .header("X-Trace", "alpha-7") .GET() .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.body()) }

Отправьте чтение на "/headers" с полем "Accept-Language" равным "ru". Выведите тело ответа.

Выведите тело ответа для "/headers", если в запрос добавлено поле "X-Client" со значением "desk".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить