Phương pháp bên dưới sẽ bị đổ vỡ khi đọc HttpResponse với lỗi: "Nội dung đã bị tiêu thụ". Tôi hiểu rằng nội dung chỉ có thể được sử dụng một lần nhưng tôi nhận được lỗi này trong lần thử đầu tiên và tôi không thấy bất kỳ nơi nào trong mã nơi tôi có thể tiêu thụ nó hai lần.Android HttpResponse - Nội dung đã được tiêu thụ
private static String getData(String url, HttpParams params) {
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
if (params != null) {
httpGet.setParams(params);
}
String result = "";
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
content.close();
result = builder.toString();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
là bạn chắc chắn ngoại lệ được tạo ra chỉ trong khối mã này – jeet
Kết quả của việc gọi 'isStreaming' trên thực thể phản hồi của bạn là gì? – Perception
Đặt một vài bản ghi trong các khối khác nhau và kiểm tra xem một cái gì đó đang được gọi là hai lần. Nếu điều đó không giúp được, hãy cung cấp mã nơi bạn đang gọi nó và cũng là logcat. – Shubhayu