11
votes

Régler l'agent utilisateur dans java httpclient et autoriser les redirections à true

J'essaie de définir ma chaîne d'agent utilisateur dans l'objet httpClient Apache en Java, mais je ne peux pas savoir comment le faire.

aide s'il vous plaît!

Aussi, j'essaie d'activer les redirections à vrai, mais je ne trouve pas non plus cette option dans l'objet httpClient.

merci

andy


0 commentaires

3 Réponses :


19
votes
HttpClient httpclient = new HttpClient();
httpclient.getParams().setParameter(
    HttpMethodParams.USER_AGENT,
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"
);

8 commentaires

org.apache.commons.htttpclient.params.httpclient.params.httpmethodparams : hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/...


Hmm - je n'utilise aucun guichet automatique de Libs, sous Org.apache.Commons tout ce que j'ai, c'est la journalisation ... Pouvez-vous simplement me dire la chaîne appropriée de mettre là-bas- Qu'est-ce que httpmethodparams.user_agent est réellement conforme à


Qu'est-ce qui redirige? Voici une liste des propriétés communes: HC.APACHE.ORG/HTTTPCLIENT-3 .x / préférence-API.HTML


HMM avait un problème et quelqu'un m'a dit d'activer les redirections. Quoi qu'il en soit, l'idée de mon application est sa course à pied sur une ligne androide - Connecte et se connecte à un site Web et récupère des données l'affichant à l'utilisateur. Le problème était - le site Web renvoyait une page différente que lorsque je visitais sur mon PC (par conséquent, changez d'agent utilisateur). Cependant, il me donnait une mauvaise erreur d'une mauvaise prise sur la ligne 253 pastebin.com/nukq2q3g toutes idées Quelques idées.


Si vous souhaitez activer les redirections automatiques, essayez: httpclient.setfollowReCts (true) . Cela suivra automatiquement à l'emplacement redirigé si le serveur envoie un code d'état 302 par exemple.


Chose est - je ne reçois pas cette méthode ... c'est très étrange -im non sûr si j'avais la dernière Apache Jakarta Lib si cela fonctionnerait sur Android - ou si vous pouvez même utiliser des pots avec Android.


Vous devriez marquer cette question comme "Android".


Vous pouvez essayer d'utiliser le CoreProtocolpnames amorcé.user_agent à la place. HC.apache. Org / httpComponents-core-4.3.x / httpcore / apidocs / org / ...



21
votes

avec httpClient 4.0, ce qui suit a fonctionné pour moi: xxx

httpprotocolparams réside dans le fichier httpcore jar: http://hc.apache.org/httpcomponents-core/download.html


0 commentaires

2
votes

Utilisez AndroidhttpClient et transmettez l'agent utilisateur en tant que paramètre à NewInstance:

AndroidHttpClient client = AndroidHttpClient.newInstance(String userAgent);


0 commentaires