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