2012-11-29 4 views
0

Je tente de me connecter à un serveur et de recevoir des données au format JSON. Voici mon code java:Android: IOException avec demande HttpGet

HttpClient client = new DefaultHttpClient(); 
HttpGet request = new HttpGet("https://my.server.com/validate/" + data); 
request.setHeader("Accept", "application/json"); 
request.setHeader("X-AuthToken","my authorisation code"); 
HttpResponse response = client.execute(request); 

J'ai aussi

<permission android:name="android.permission.INTERNET"></permission> 

comme un enfant de manifeste (non application) dans mon manifest.xml

Lorsque je tente d'ouvrir l'URL dans le navigateur , J'obtiens la page correcte mais je ne reçois aucune donnée car il manque l'authentification. J'ai aussi une bonne connexion.

J'ai essayé de résoudre ce problème pendant quelques heures, mais je reçois toujours IOException à la ligne avec client.execute (demande)

java.net.UnknownHostException: my.server.com 

Toutes les idées? :) Merci!

+0

essayer de frapper un site connu comme 'http: // www.google.com' voir si y Vous obtenez le même résultat, si c'est le cas, vous savez que le problème est avec la connexion à Internet pour une raison quelconque. Si ce n'est pas le cas, vous savez que le problème provient de votre serveur spécifique – FoamyGuy

+0

Utilisez-vous l'application sur Android 3.0 ou version ultérieure? – Bigflow

+0

J'ai essayé google, le même résultat. Im fonctionnant sur Android 2.3.3 –

Répondre

5

On dirait qu'il vous manque uses-?

<uses-permission android:name="android.permission.INTERNET" />?

<permission> est utilisé pour déclarer une nouvelle autorisation. Docs

+0

wow, c'était assez stupide de ma part. ..J'ai l'habitude d'écrire manuellement le fichier manifeste, cette fois j'ai utilisé l'interface graphique Eclipse pour ça ... de toute façon, ça a réglé le problème, merci! –

+0

@ Tomáš'GunsBlazing'Frček À l'intérieur de l'interface graphique du manifeste d'éclipse, sur l'onglet Autorisations. Après avoir cliqué sur "Ajouter ...", vous devez choisir "uses-permission" qui est le bas sur la liste. – FoamyGuy

+0

Oui, c'est inutilement déroutant: / – dmon

0

Désolé s'il me manque quelque chose, mais est my.server.com vraiment un hôte valide? Avez-vous oublié de brancher l'hôte réel?

+0

Non, j'ai l'hôte réel dans mon code, je viens de mettre "my.server.com" ici donc c'est plus clair, puisque l'URL réelle est assez longue –

+0

Donc vous avez remplacé le nom d'hôte réel dans l'exemple du code Java et le message d'exception? – chinabuffet

+0

En outre, lorsque vous accédez à cette page via une URL dans un navigateur, faites-vous cela à partir du périphérique mobile ou d'un ordinateur distinct? Peut vouloir s'assurer que l'appareil mobile est sur la même connexion réseau. – chinabuffet

0

Outre les réponses ici, voici quelques suggestions aditional

  1. Essayez d'aller à l'URL dans un navigateur
  2. Assurez-vous que vous disposez d'une connexion Internet sur votre appareil en utilisant le navigateur
  3. le projet, essayez de nettoyer et d'essayer à nouveau (ce qui a fait l'affaire pour moi plusieurs fois) (projet -> Clean)
Questions connexes