Пользовательский агент 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). 

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

4 Solutions collect form web for “Пользовательский агент Android HTTP”

Если вы не хотите вызывать 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

  • Какой порт используется соединением Java RMI?
  • HttpClient 4.0.1 - как освободить соединение?
  • проверить подключение к Интернету в cocoa-приложении
  • Можно ли использовать статический экземпляр java.sql.Connection в многопоточной системе?
  • Почему при запуске URL-адреса возникает исключение «java.net.ConnectException: Connection timed out»?
  • «Основное соединение было закрыто: при отправке произошла непредвиденная ошибка». С SSL-сертификатом
  • Возвращаемое значение для функции внутри блока
  • Присоединение темы к себе
  • Java обнаруживает потерянное соединение
  • Interesting Posts

    Как увеличить громкость для AVI-файла

    Задержка jQuery не работает

    Есть ли кабель с 2.5 "(44-контактным) IDE на обоих концах или альтернатива для подключения SATA-накопителя к ноутбуку IDE?

    Почему приведение int к недопустимому значению enums НЕ выбрасывает исключение?

    Rails: кнопки Multi-submit в одной форме

    Как найти локальную базу данных Lotus Notes?

    Как выполнить программы SUPPRESS из папки автозагрузки (Windows 7)?

    Есть ли способ скопировать лист Excel без копирования всех стилей ячеек в исходной книге в целевую книгу?

    Как ОЗУ может содержать «карту памяти», если ОЗУ не знает об общей системе?

    Как получить «кодовое обозначение» gdb на OSX?

    В чем разница между sdelete -c и -z?

    Как заставить MVC проверять объект IValidatableObject

    Как отключить автоматическую настройку громкости микрофона?

    Использование Swift CFunctionPointer для передачи обратного вызова API CoreMIDI

    Как установить выходной stream в TextArea

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