2011-03-09 15 views
8

Así que estoy usando Apache Commons HTTP para hacer una solicitud a una página web. No puedo entender cómo obtener el contenido real de la página, solo puedo obtener su información de encabezado. ¿Cómo puedo obtener el contenido real de ella?Obtener contenido de la página de Apache Commons Solicitud HTTP

Aquí está mi código de ejemplo:

HttpGet request = new HttpGet("http://URL_HERE/"); 

HttpClient httpClient = new DefaultHttpClient(); 
HttpResponse response = httpClient.execute(request); 

System.out.println("Response: " + response.toString()); 

Gracias!

Respuesta

1

Si lo que desea es el contenido de la dirección URL, puede use la URL API, así:

import java.io.IOException; 
import java.net.URL; 
import java.util.Scanner; 

public class URLTest { 
    public static void main(String[] args) throws IOException { 
     URL url = new URL("http://www.google.com.br"); 
     //here you have the input stream, so you can do whatever you want with it! 
     Scanner in = new Scanner(url.openStream()); 
     in.nextLine(); 
    } 
} 
+0

me habría sólo se usa esto, pero necesitaba usar Apache Commons porque esto está en conjunción con más cosas . – Chiggins

14

El comentario de BalusC funcionará bien. Si está utilizando la versión 4 o más reciente de Apache HttpComponents, existe un método de conveniencia puede utilizar así: EntityUtils.toString(HttpEntity);

Aquí es lo que se verá como en el código:

HttpGet request = new HttpGet("http://URL_HERE/"); 
HttpClient httpClient = new DefaultHttpClient(); 
HttpResponse response = httpClient.execute(request); 
HttpEntity entity = response.getEntity(); 
String entityContents = EntityUtils.toString(entity); 

I Espero que esto sea útil para ti.

No estoy seguro si esto es debido a diferentes versiones, pero tenía que volver a escribir así:

HttpGet request = new HttpGet("http://URL_HERE/"); 
CloseableHttpClient httpClient = HttpClients.createDefault(); 
HttpResponse response = httpClient.execute(request); 
HttpEntity entity = response.getEntity(); 
String entityContents = EntityUtils.toString(entity); 
+1

Me fue útil, gracias! –

+0

Me alegra oír eso. :) – SecondSun24

Cuestiones relacionadas