Cambiando el agente de usuario en una conexión Http/Https desde Java

16Feb08

El agente de usuario (User-Agent) permite que un cliente se pueda identificar con el servidor al cual se está conectando.

Esta identificación se produce al realizar el pedido Http/Https al servidor mediante la propiedad User-agent.

Si realizamos una conexión de la forma:

URL url = new URL("https://lefunes.wordpress.com");
URLConnection con = url.openConnection();

nuestro programa se identificará ante el servidor, por ejemplo en mi caso, con la siguiente identidad:

User-Agent: Java/1.6.0_03

está dependerá de la versión de Java que estemos utilizando, pero en términos generales sigue la forma:

Java/<Versión del JRE que estemos utilizando>

Si lo que buscamos es cambiar esta identidad e incluir una propia lo que dbemos es cambiar las propiedades a la hora de que nuestra aplicación envié las peticiones al servidor. Esto lo prodremos realizar mediante el método setRequestProperty de la clase URLConnection.

Por ejemplo:

URL url = new URL("https://lefunes.wordpress.com");
URLConnection con = url.openConnection();

con.setRequestProperty("User-Agent", "App de Prueba");

de esta forma el servidor nos reconocerá como “App de Prueba”.Esto es util porque hay servidores que descartan pedidos de agentes de usuario genéricos como “Java/1.6.0_03” o “lwp-per”.

Hasta la próxima.

Más Info



One Response to “Cambiando el agente de usuario en una conexión Http/Https desde Java”

  1. 1 Laskeshe

    Buenas

    **** Nuevas versiones Firefox sin locale en el user agent ****

    En anteriores versiones de Firefox si accedías a sitios web
    indicadores de agente de usuario en la cadena resultante salía el valor
    de general.useragent.locale pero en las últimas ya no. Podéis
    comprobarlo p.e. en http://whatsmyuseragent.com/ . Hay alguna web como http://youruseragent.info/what-is-my-user-agent que muestra el valor de intl.accept_languages (en Accept-Language) pero no el de la preferencia del locale.

    En http://support.mozilla.org/es/questions/942501 se confirma la observación: “Firefox no longer adds the locale to the user agent”.

    ¿A qué se debe este cambio?

    ——————

    Supongo que ahora la oferta personalizada de contenidos según
    situación geográfica por parte de los portales web que lo hagan se
    deberá basar sólo en la IP del ordenador, teléfono inteligente, etc. a
    no ser que se ofrezca y acepte la geolocalización descrita en http://www.mozilla.org/es-ES/firefox/geolocation/ . El dejar de usar el locale posiblemente se deba a la incorporación de esto último, ¿no?

    ——————-
    ——————-

    Si se responde acá se ruega que se copie el texto, de forma libre, en http://www.elgrupoinformatico.com/nuevas-versiones-firefox-sin-locale-user-agent-t15606.html

    Saludos



A %d blogueros les gusta esto: