2012-04-02 50 views
12

Estoy buscando una oportunidad para abrir una url en java.Abrir URL en Java para obtener el contenido

URL url = new URL("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de"); 
    InputStream is = url.openConnection().getInputStream(); 

    BufferedReader reader = new BufferedReader(new InputStreamReader(is) ); 

    String line = null; 
    while((line = reader.readLine()) != null) { 
     System.out.println(line); 
    } 
    reader.close(); 

Encontré esa manera.

Lo agregué en mi programa y ocurrió el siguiente error.

The method openConnection() is undefined for the type URL 

(por url.openConnection())

¿Cuál es mi problema?

utilizo un gato-servidor con servlets, ...

+0

prueba este: http://docs.oracle.com/javase/tutor ial/networking/urls/readingURL.html – shem

+0

El problema es * probablemente * que no estés usando 'java.net.URL' sino alguna otra clase llamada' URL'. –

+1

gracias .... funciona;) –

Respuesta

2

¿Está seguro utilizando la clase java.net.URL? Verifique sus declaraciones de importación.

5

Funciona para mí. Por favor, compruebe si está utilizando las importaciones correctas?

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.URL; 
1

Puede ser más útil el uso de una biblioteca de cliente HTTP similares tales como this

Hay más cosas como acceso denegado, etc. documento se trasladó a manejar cuando se trata de http.

(sin embargo, es poco probable en este caso)

13
public class UrlContent{ 
    public static void main(String[] args) { 

     URL url; 

     try { 
      // get URL content 

      String a="http://localhost:8080/TestWeb/index.jsp"; 
      url = new URL(a); 
      URLConnection conn = url.openConnection(); 

      // open the stream and put it into BufferedReader 
      BufferedReader br = new BufferedReader(
           new InputStreamReader(conn.getInputStream())); 

      String inputLine; 
      while ((inputLine = br.readLine()) != null) { 
        System.out.println(inputLine); 
      } 
      br.close(); 

      System.out.println("Done"); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
} 
8
String url_open ="http://javadl.sun.com/webapps/download/AutoDL?BundleId=76860"; 
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url_open)); 
4

siguiente código debería funcionar,

URL url = new URL("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de"); 
InputStream is = url.openConnection().getInputStream(); 

BufferedReader reader = new BufferedReader(new InputStreamReader(is) ); 

String line = null; 
while((line = reader.readLine()) != null) { 
    System.out.println(line); 
} 
reader.close(); 
1

Si lo que desea es abrir la página web, creo que menos es más en este caso:

import java.awt.Desktop; 
import java.net.URI; //Note this is URI, not URL 

class BrowseURL{ 
    public static void main(String args[]) throws Exception{ 
     // Create Desktop object 
     Desktop d=Desktop.getDesktop(); 

     // Browse a URL, say google.com 
     d.browse(new URI("http://google.com")); 

     } 
    } 
} 
Cuestiones relacionadas