Я пытаюсь проанализировать веб-страницу с помощью Java с URLConnection. Я пытаюсь настроить агент пользователя как это:
java.net.URLConnection c = url.openConnection();
c.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");
Но получающийся агент пользователя является тем, который я указываю с "Java/1.5.0_19", добавленным в конец. Существует ли способ действительно установить агент пользователя без этого дополнения?
Вне руки, установка системного свойства http.agent
на ""
может помочь (я не код передо мной).
Вам может сойти с рук:
System.setProperty("http.agent", "");
, но для этого может потребоваться гонка между вами и инициализацией обработчика протокола URL, если он кэширует значение при запуске (на самом деле, я не думаю, что это так).
Свойство также можно установить через файлы JNLP (доступные апплетам из 6u10) и в командной строке:
-Dhttp.agent=
Или для команд оболочки:
-J-Dhttp.agent=
Немного изменено Том Хотинс ответ на:
System.setProperty("http.agent", "");