Пользовательский агент Android HTTP

Как получить реальное устройство в http_user_agent? Когда я использую WebView, я могу получить реальное значение следующим образом:

[HTTP_USER_AGENT] => Mozilla/5.0(Linux; U; Android 2.2; en-gb; LG-P500 Build/FRF91) AppleWebKit/533.0 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 

Но когда я использую соединение Apache, результат отличается:

 [HTTP_USER_AGENT] => Apache-HttpClient/UNAVAILABLE(java 1.4). 

В чем проблема?

Если вы не хотите вызывать setHeader() для каждого setHeader() вами запроса, вы можете установить параметр http-клиента CoreProtocolPNames.USER_AGENT . После этого HTTP-клиент автоматически добавит этот параметр заголовка к каждому запросу.

Что-то вроде:

 client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "Custom user agent"); 

когда вы создаете свой HttpClient .

Чтобы завершить принятый ответ, если вы хотите, чтобы пользовательский агент по умолчанию использовал System.getProperty («http.agent»)

 client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, System.getProperty("http.agent")); 

Если вы хотите установить свой собственный заголовок пользовательского агента, вы должны использовать метод setHeader .

В случае запроса HTTP-сообщения вы просто устанавливаете его так.

 private String url = "http://myfancyurl.com/"; private String ua = "My Custom UA Header String"; private HttpPost post = new HttpPost(url); post.setHeader("User-Agent", ua); 

Это было просто краткое объяснение того, как установить пользовательскую строку пользовательского агента. Ваш код может выглядеть иначе. Важной частью является метод setHeader .

Вы можете прочитать useragent с помощью webview:

 new WebView(this).getSettings().getUserAgentString(); 

Или используя системное свойство:

 System.getProperty("http.agent") 

Источник: https://stackoverflow.com/a/50610164/3317927

  • Почему при запуске URL-адреса возникает исключение «java.net.ConnectException: Connection timed out»?
  • Можно ли использовать статический экземпляр java.sql.Connection в многопоточной системе?
  • «Основное соединение было закрыто: при отправке произошла непредвиденная ошибка». С SSL-сертификатом
  • mySQL - создание новой таблицы с использованием данных и столбцов из трех таблиц
  • Что именно влияет на URLConnection.setDoOutput ()?
  • В чем разница между соединением и таймаутом чтения для сокетов?
  • Hibernate Slow для получения соединения Postgres
  • Eclipse: Не удалось подключиться к удаленной виртуальной машине. В соединении отказано.
  • Присоединение темы к себе
  • java.rmi.ConnectException: подключение отказалось от хоста: 127.0.1.1;
  • Запустить командный файл с командой psql без пароля
  • Interesting Posts

    Поддерживает ли Ninject Func (автоматически сгенерированный завод)?

    Как отправить изображение через MMS на Android?

    ВСТАВИТЬ, ЕСЛИ НЕ СУЩЕСТВУЕТ ОБЩЕЕ ОБНОВЛЕНИЕ?

    «Файл не найден» в заголовке Bridging при импорте объектов Objective-C в проект Swift от CocoaPod

    Как вернуть объект Json из MVC-controllerа для просмотра

    Предупреждения Firefox «Неверное подключение» при посещении уважаемых сайтов HTTPS при использовании учетной записи ребенка

    Не удалось загрузить профиль пользователя с профилем пользователя в Windows 10

    Примитивный тип «короткий» – литье в Java

    Как сделать вид сетки прокручивать по горизонтали не вертикально в андроиде?

    Предполагают ли типы int8_t и uint8_t быть символами?

    Lambda для выражений типа в Haskell?

    Как подключить pyodbc к файлу базы данных Access (.mdb)

    Как очистить кеш браузера при нажатии кнопки браузера в MVC4?

    Лучший тип данных для хранения денежных значений в MySQL

    jQuery модальная форма диалогового postback проблемы

    Давайте будем гением компьютера.