我正在编写一个在服务器上使用基于REST的API的android应用程序。到目前为止,登录完美地使用HttpGet =我发送凭据,它向我发回一个包含会话ID或失败的JSON响应对象。然后我转向使用另一个get api(这个传递了sessionid),我得到的响应看起来像一个有效的“200 - Ok”,但响应体不包含任何内容 - 0文本。
如果我使用相同的URL并将其放入浏览器,我将获得我希望在浏览器窗口中显示的所有JSON文本。那么浏览器请求/响应与HttpGet的区别是什么?关于为什么我的HttpGet可能会返回“有效”的任何线索?
答案 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)
结果证明是服务器端问题。当请求者不是浏览器时,他们实际上是向我发送空字符串。太糟糕了我无法删除一个问题。 :(