Quiero utilizar el agente de usuario predeterminado para el teléfono en una conexión HttpClient y me gustaría saber si hay una forma de obtener el agente de usuario sin tener que tener un WebView para consultar.¿Hay alguna forma de obtener la cadena de agente de usuario predeterminada aparte de WebView.getSettings(). GetUserAgentString()?
Respuesta
Última respuesta tardía, para otros que pueden estar buscando esto.
Estaba buscando una forma de obtener la cadena de agente de usuario utilizada por HttpUrlConnection, para usarla con HttpClient y modificarla con mi propia información de versión. De esta manera, mi aplicación para Android proporciona información útil sobre la versión que puedo extraer de los archivos de registro del servidor (versión de Android, nombre/tipo de dispositivo y la versión de mi aplicación).
Por ejemplo, la cadena de agente de usuario para mi teléfono cuando se utiliza HttpURLConnection se parece a esto:
Dalvik/1.4.0 (Linux; U; Android 2.3.5; HTC Desire HD A9191 Build/GRJ90)
Esta cadena se puede obtener de las propiedades del sistema, así:
String userAgent = System.getProperty("http.agent");
Una advertencia, pero también lo bueno de esta versión, es que no es el agente de usuario del navegador web. – lilbyrdie
No, esta es una única forma oficial de obtener la cadena de agente de usuario.
Por cierto, la cadena devuelta es algo como esto:
Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone
servidores HTTP utilizan cadena de agente de usuario para servir a las versiones específicas del navegador de documentos. Esto solo tendría sentido si desea una versión móvil de alguna página y/o si desea mostrarla más adelante en el navegador de Android.
A partir de nivel de la API 17 hay un método estático en WebSettings
que devuelve la cadena de usuario-agente predeterminada utilizada por un WebView:
WebSettings.getDefaultUserAgent(context)
Como el método es estático, no necesita una instancia de WebView para ejecutarlo.
- 1. cómo analizar la cadena de agente de usuario? python
- 2. MDDR en cadena de agente de usuario
- 3. ¿Hay alguna forma de obtener la dirección de un registro?
- 4. ¿Código para analizar la cadena de agente de usuario?
- 5. API RESTful: ¿requiere una cadena de agente de usuario?
- 6. Setting "una cadena de agente de usuario informativa" en getUrl
- 7. ¿Hay alguna otra forma de truncar una cadena?
- 8. Agente de usuario WebView
- 9. ¿Hay alguna forma de obtener una dirección de referencia?
- 10. ¿Qué es la hoja de estilo del agente de usuario
- 11. ¿hay alguna forma de obtener componentes individuales de heroku toolbelt?
- 12. Cadena de agente de usuario para IPhone 4S
- 13. ¿Hay alguna forma de obtener XML de elemento por atributo?
- 14. ¿Hay alguna forma de que MS Access pueda obtener el usuario actual de Active Directory?
- 15. Agente de usuario de iPhone
- 16. ¿Cómo obtener el agente de usuario en iOS?
- 17. ¿Debo usar cadena Unicode de forma predeterminada?
- 18. agente de usuario de expresiones regulares móvil
- 19. ¿Hay alguna forma en Grails de obtener todo el registro?
- 20. ¿Existe un buen método para analizar la cadena de agente de usuario?
- 21. ¿Hay alguna forma de determinar cuándo termina una cadena .NET?
- 22. ¿Hay alguna forma de regexp-quote una cadena en Node.js?
- 23. Agente de usuario genérico para Android (UA)
- 24. Chrome conseguir "agente de usuario de estilo"
- 25. ¿Hay forma de copiar toda la matriz en otra matriz? (Aparte de usar un bucle For)
- 26. ¿Hay alguna forma de personalizar la salida de git blame?
- 27. ¿Agente de usuario móvil Android?
- 28. Forma correcta de obtener el nombre de usuario y la contraseña de la cadena de conexión?
- 29. ¿Hay alguna forma de obtener el nombre del usuario en Drupal?
- 30. ¿Hay alguna forma de cancelar TabControl.Items.CurrentChanging?
posible duplicado de [Recuperar usuario-agente programáticamente] (http://stackoverflow.com/questions/3626071/retrieve-user-agent-programatically) – Idolon
21 a 0, tal vez debería reevaluar la respuesta aceptada? – theblang
@mattblang cambiado, gracias por el aviso – cottonBallPaws