38 votes

Android HTTP User Agent

Comment puis-je obtenir le périphérique réel dans http_user_agent? Lorsque j'utilise une WebView, je peux obtenir la valeur réelle comme ceci:

[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

Mais quand j'utilise Apache connexion, le résultat est différent:

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

Quel est le problème?

71voto

Maragues Points 9461

Pour compléter la accepté de répondre, si vous voulez la valeur par défaut de l'agent utilisateur d'utiliser le Système.getProperty("http".l'agent")

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

60voto

Nic Strong Points 4195

Si vous ne souhaitez pas appeler setHeader() pour chaque requête que vous créez, vous pouvez configurer le client http paramètre CoreProtocolPNames.USER_AGENT. Après avoir fait ce client HTTP ajoutera automatiquement ce paramètre d'en-tête à chaque demande.

Quelque chose comme:

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

lorsque vous créez votre HttpClient.

13voto

Octavian Damiean Points 20620

Si vous souhaitez définir votre propre agent utilisateur en-tête, alors vous devez utiliser l' setHeader méthode.

Dans le cas d'une requête HTTP de type Post vous suffit de le définir comme ça.

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);

C'était juste une petite explication comment personnaliser la chaîne de l'agent utilisateur. Votre code peut être différent. L'important, c'est l' setHeader méthode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X