0

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

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

4

3 回答 3

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");
于 2011-06-02T08:45:08.447 回答
0

原来是服务器端的问题。当请求者不是浏览器时,他们实际上是在向我发送空字符串。太糟糕了,我不能删除一个问题。:(

于 2010-09-29T07:35:08.403 回答
0

那是我pull()写的

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

你是怎么做的?!

于 2010-08-19T09:12:52.910 回答