J'ai trouvé un problème. J'ai un serveur qui utilise l'en-tête de l'agent utilisateur pour identifier le périphérique qui s'y connecte. Mais quand je me connecte au serveur en utilisant HttpURLConnection je n'obtiens aucun en-tête d'agent d'utilisateur, mais quand je me connecte avec le navigateur il envoie l'agent d'utilisateur correct.HttpURLConnection dans android n'envoie pas l'en-tête User-Agent correct
Pour tester, j'utilise un serveur d'écho qui répond avec les en-têtes trouvés dans la requête. Quand je me connecte au navigateur, j'obtiens: Exemple: User-Agent: Mozilla/5.0 (Linux, U, Android 1.5, en-fr, HTC Hero Build/CUPCAKE) AppleWebKit/528.5 + (KHTML, comme Gecko) Version/3.1.2 Mobile Safari/525.20.1 Up.Link/6.3.1.20.06.3.1.20.0.
Mais quand je me connecte par code avec URLConnection i get:
User-Agent: INDISPONIBLE.
Est-ce que quelqu'un sait que j'ai des comportements différents? Comment puis-je me connecter de la même manière que le navigateur?
EDIT:
Ce que je vraiment besoin est non seulement l'en-tête User-Agent, j'ai besoin aussi des en-têtes spéciaux (x-up-subno en fait). Cet en-tête est ajouté par l'APN de l'opérateur, mais pour une raison quelconque, lorsque je me connecte par un code, les en-têtes ne sont pas ajoutés à la requête.
à partir du navigateur: browser http://bannergame.googlecode.com/files/device_browser.png
De code: code http://bannergame.googlecode.com/files/device_code.png
Merci,
Je pense que vous trouverez que la plupart des bibliothèques de connexions HTTP n'envoient pas elles-mêmes un User-Agent, –
Ce n'est vraiment pas une bonne idée de renifler User-Agent, il y a une variété de problèmes que vous rencontrerez avec des agents inconnus et couchés, bloquant le logiciel. Si vous trouvez un autre moyen de signaler que vous voulez une page spéciale orientée Android, faites-le .. – bobince