Найти в Дзене

Пользовательский агент в Apache HttpClient

Оглавление

1. Обзор

В этом кратком руководстве показано, как отправить собственный заголовок User-Agent с помощью Apache HttpClient.

2. Настройка User-Agent на HttpClient

Мы можем установить User-Agent при настройке самого клиента:

HttpClients.custom().setUserAgent("Mozilla/5.0 Firefox/26.0").build();

Полный пример будет выглядеть так:

@Test
void whenClientUsesCustomUserAgent_thenCorrect() throws IOException {
CloseableHttpClient client = HttpClients.custom()
.setUserAgent("Mozilla/5.0 Firefox/26.0")
.build();
final HttpGet request = new HttpGet(SAMPLE_URL);

String response = client.execute(request, new BasicHttpClientResponseHandler());
logger.info("Response -> {}", response);
}

3. Настройка пользовательского агента по отдельным запросам

Пользовательский заголовок User-Agent также может быть установлен для отдельных запросов , что добавляет нашему клиенту больше гибкости:

@Test
void whenRequestHasCustomUserAgent_thenCorrect() throws IOException {
CloseableHttpClient client = HttpClients.createDefault();
final HttpGet request = new HttpGet(SAMPLE_URL);
request.setHeader(HttpHeaders.USER_AGENT, "Mozilla/5.0 Firefox/26.0");

String response = client.execute(request, new BasicHttpClientResponseHandler());
logger.info("Response -> {}", response);
}

4. Вывод

В этой статье показано, как можно использовать HttpClient для отправки запросов с настраиваемым заголовком User-Agent — например, для имитации поведения определенного браузера.

Оригинал статьи: https://www.baeldung.com/httpclient-user-agent-header