Existen muchos ejemplos en la red de como llevar esto a cabo, pero muchos están en inglés y algunos desfasados, así que voy a exponer como llevar a cabo esta tarea usando la librería de apache HttpComponents a través de unos ejemplos en java.
El primer ejemplo obtendrá un fichero XML correspondiente al RSS de la página web barrapunto:
public static void main (String[] args){ // Creación del objeto cliente que realizará las peticiones HttpClient httpclient = new DefaultHttpClient(); // Creación del objeto petición HttpGet httpget = new HttpGet("http://barrapunto.com/index.rss"); // Creación del objeto respuesta HttpResponse response; try { // Ejecución de la petición y guardado de respuesta response = httpclient.execute(httpget); // Mostramos el resultado de la petición System.out.println("Estado: "+response.getStatusLine().toString()); // Leemos los datos de la respuesta HttpEntity entity = response.getEntity(); // Si hay datos la petición se hizo correctamente y procedemos a mostrarlos if (entity != null) { InputStream instream = entity.getContent(); String result= convertStreamToString(instream); System.out.println("Datos: "+result); instream.close(); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
El segundo ejemplo obtendrá datos de la página moneytrackin.com a través de su API haciendo uso de autentificación: