Почему я получаю правильный URL-адрес от браузера, но пустой в «HttpGet» Android? - PullRequest
0 голосов
/ 19 августа 2010

Я пишу приложение для Android, которое использует API на основе REST на сервере. Пока вход в систему работает отлично, используя HttpGet = Я отправляю учетные данные, он возвращает мне объект ответа JSON, содержащий идентификатор сеанса или сбой. Затем я перешел на использование другого get api (это передается sessionid), и ответ, который я получаю, выглядит как правильный "200 - Ok", но тело ответа ничего не содержит - текст 0

Если я возьму тот же URL и перетяну его в браузер, я получу весь ожидаемый текст JSON, отображаемый в окне браузера. Так в чем же разница между запросом / ответом браузера и запросом HttpGet? Любые подсказки относительно того, почему мой HttpGet может возвращать «действительное» ничего?

Ответы [ 3 ]

2 голосов
/ 02 июня 2011

У меня была такая же проблема. Настройка пользовательского агента решила мою проблему:

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");
0 голосов
/ 29 сентября 2010

Оказалось, что это проблема на стороне сервера. Они фактически посылали мне пустые строки, когда заказчик не был браузером. Жаль, что я не могу удалить вопрос. (

0 голосов
/ 19 августа 2010

Вот мой pull() Я написал

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

Как у тебя дела?!

...