我得到BufferedReader
对象是空白的,当我调试代码时,我发现实际上HttpEntity
对象似乎也是空的。
这是我的代码部分:
提出HTTP
请求
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Accept", "JSON");
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
long len = httpEntity.getContentLength();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (UnknownHostException e){
e.getMessage();
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
如果我在 PC 浏览器上点击我的网址,它会给出一个 JSON 响应,也会在 [http://jsonlint.com/][1] 上
给出确切的问题是什么,我无法理解
检查响应状态,然后开始读取响应
HttpResponse httpResponse = httpClient.execute(httpPost);
if(httpResponse .getStatusLine().getStatusCode() == SC_OK)
{
HttpEntity httpEntity = httpResponse.getEntity();
long len = httpEntity.getContentLength();
is = httpEntity.getContent();
}