phone permission google android http entity

google - phone permissions android



obteniendo el cuerpo de respuesta de HttpResponse (6)

He hecho esto:

response = httpclient.execute(targetHost, httppost); if(response.getStatusLine().getStatusCode() == 200) { HttpEntity entity = response.getEntity(); System.out.println("Entity:"+entity); if (entity != null) { String responseBody = EntityUtils.toString(entity); System.out.println("finalResult"+responseBody.toString()); }

Lo que pasa es que la primera println() muestra esto: org.apache.http.conn.BasicManagedEntity@481e8150 que es bueno.

Pero el segundo System.out.println("finalResult"+responseBody.toString()); muestra solo este resultado finalResult . Entonces, ¿qué está mal con esto?

String responseBody = EntityUtils.toString(entity); System.out.println("finalResult"+responseBody.toString());

???

IMPORTANTE Esta HttpEntity entity = response.getEntity(); es igual a org.apache.http.conn.BasicManagedEntity@481e8150 . ASÍ QUE el problema debe estar aquí:

String responseBody = EntityUtils.toString (entidad) ;.

¡¡¡Por favor ayuda!!!


Puedes usar este:

String s = EntityUtils.toString(httpRes.getEntity());


Primero, vea si su servidor no está respondiendo en blanco:

response.getEntity().getContentLength(); //it should not be 0

En segundo lugar, intente lo siguiente para convertir la respuesta en cadena:

StringBuilder sb = new StringBuilder(); try { BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()), 65728); String line = null; while ((line = reader.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } System.out.println("finalResult " + sb.toString());


Prueba esto:

BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); String body = ""; while ((body = rd.readLine()) != null) { Log.e("HttpResponse", body); }


prueba esto

BufferedReader in = new BufferedReader(new InputStreamReader(response .getEntity().getContent())); //SB to make a string out of the inputstream StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); //the json string is stored here String result = sb.toString();


Prueba esto :

HttpEntity entity = response.getEntity(); final String content; try { content = EntityUtils.toString(entity); runOnUiThread(new Runnable() { @Override public void run() { webView.loadData(content, "text/html", "UTF-8"); } }); }


org.apache.http.conn.BasicManagedEntity@f8a5dec

la respuesta viene cuando imprimimos directamente el objeto HttpEntity. p.ej:

HttpEntity httpEntity=httpResponse.getEntity();

Ahora, para obtener la respuesta real del servidor, debemos hacer los siguientes pasos:

public String convertStreamtoString(InputStream is){ String line=""; String data=""; try{ BufferedReader br=new BufferedReader(new InputStreamReader(is)); while((line=br.readLine())!=null){ data+=line; } } catch(Exception e){ e.printStackTrace(); } return data; }

simplemente llame al método anterior y pase httpEntity como argumento. ¡¡Disfrutar!!