为什么我从浏览器获得正确的URL响应,但在Android的“HttpGet”中为空?

时间:2010-08-19 09:01:50

标签: java android http http-get

我正在编写一个在服务器上使用基于REST的API的android应用程序。到目前为止,登录完美地使用HttpGet =我发送凭据,它向我发回一个包含会话ID或失败的JSON响应对象。然后我转向使用另一个get api(这个传递了sessionid),我得到的响应看起来像一个有效的“200 - Ok”,但响应体不包含任何内容 - 0文本。

如果我使用相同的URL并将其放入浏览器,我将获得我希望在浏览器窗口中显示的所有JSON文本。那么浏览器请求/响应与HttpGet的区别是什么?关于为什么我的HttpGet可能会返回“有效”的任何线索?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。设置用户代理解决了我的问题:

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");

答案 1 :(得分:0)

这就是我写的pull()

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

你是怎么做的?!

答案 2 :(得分:0)

结果证明是服务器端问题。当请求者不是浏览器时,他们实际上是向我发送空字符串。太糟糕了我无法删除一个问题。 :(