«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как настроить пользовательский агент для URL-соединений в Java без идентификатора времени выполнения Java?

Как настроить пользовательский агент для URL-соединений в Java без идентификатора времени выполнения Java?

Опубликовано 22 декабря 2024 г.
Просматривать:269

How to Set a Custom User Agent for URLConnections in Java without the Java Runtime Identifier?

Настройка пользовательского агента для URLConnections в Java

При использовании URLConnection в Java для получения веб-контента часто требуется установка пользовательского агента для точное сканирование веб-сайтов и моделирование пользователей. Однако среда выполнения Java по умолчанию добавляет свой собственный идентификатор к строке пользовательского агента, что может быть нежелательно в определенных сценариях.

Запрос

Разработчик Java обратился за помощью при настройке пользовательского агента без суффикса «Java/1.5.0_19», добавленного средой выполнения. Пользователь предоставил фрагмент кода, показывающий, как он пытался установить пользовательский агент с помощью setRequestProperty().

Решение

К счастью, в Java 1.6.30 и более поздних версиях установка пользовательского агента через setRequestProperty("User-Agent", "") работает безупречно, без добавления какой-либо дополнительной информации о времени выполнения Java. Чтобы продемонстрировать это, разработчик использовал netcat для прослушивания входящих HTTP-запросов и заметил, что пользовательский агент был успешно отправлен без суффикса Java.

Полная реализация

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

public class CustomUserAgent {

    public static void main(String[] args) throws IOException {
        URL url = new URL("http://localhost:8080/foobar");
        URLConnection hc = url.openConnection();
        hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

        System.out.println(hc.getContentType());
    }

}

Используя этот подход, разработчики могут эффективно настраивать пользовательские агенты для своих URL-соединений на Java без каких-либо нежелательных дополнений, специфичных для Java, обеспечивая желаемое поведение при очистке веб-страниц или других коммуникационных задачах.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3