2010-08-19 2 views
0

J'écris une application Android qui utilise une API REST sur le serveur. Jusqu'à présent, la connexion fonctionne parfaitement en utilisant HttpGet = J'envoie les informations d'identification, il me renvoie un objet de réponse JSON contenant l'identifiant ou l'échec de la session. Je suis ensuite passé à l'aide d'un autre get api (celui-ci est passé le sessionid) et la réponse que je reçois ressemble à une réponse valide "200 - Ok" mais le corps de réponse ne contient rien - 0 texte.Pourquoi est-ce que j'obtiens la réponse URL correcte d'un navigateur, mais vide dans le "HttpGet" d'Android?

Si je prends la même URL et la dépose dans un navigateur, je reçois tout le texte JSON que j'attends affiché dans la fenêtre du navigateur. Alors, quelle est la différence entre une requête/réponse du navigateur et celle de HttpGet? Des indices quant à la raison pour laquelle mon HttpGet pourrait retourner un «valide» rien?

Répondre

0

Il s'est avéré être un problème côté serveur. Ils m'envoyaient des chaînes vides lorsque le demandeur n'était pas un navigateur. Dommage que je ne puisse pas supprimer une question. :(

0

Thats my pull() J'ai écrit

mHttpGet.setURI(url.toURI()); 
mResponse = mHttpClient.execute(mHttpGet); 
mResponse.getEntity().getContent(); // returns inputstream 

Comment avez-vous le vôtre ?!

2

J'ai eu le même problème agent utilisateur Réglage résolu mon problème.

HttpParams params = new BasicHttpParams(); 
... 
params.setParameter(CoreProtocolPNames.USER_AGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71"); 
Questions connexes