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

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

Заголовки запроса - пары имя и значение, которые идут до тела. Построитель 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; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/headers")) .header("Accept", "text/plain") .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString(), ); System.out.println(response.body()); } }

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

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/headers")) .header("X-Trace", "alpha-7") .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString(), ); System.out.println(response.body()); } }

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

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

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