web-dev-qa-db-de.com

Öffnen Sie die URL in Java, um den Inhalt abzurufen

Ich suche nach einer Möglichkeit, eine URL in Java zu öffnen.

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();

Ich habe diesen Weg gefunden.

Ich habe es in meinem Programm hinzugefügt und der folgende Fehler ist aufgetreten.

The method openConnection() is undefined for the type URL

(von url.openConnection ())

Was ist mein problem

Ich verwende einen Tomcat-Server mit Servlets, ...

14
alexander-fire
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();
        }

    }
}
17
Vaibs
String url_open ="http://javadl.Sun.com/webapps/download/AutoDL?BundleId=76860";
Java.awt.Desktop.getDesktop().browse(Java.net.URI.create(url_open));
9
miguepiscy

Es funktioniert für mich ... Bitte überprüfen Sie, ob Sie die richtigen Importe verwenden.

import Java.io.BufferedReader;
import Java.io.InputStream;
import Java.io.InputStreamReader;
import Java.net.URL;
5
Glenn VdB

Der folgende Code sollte funktionieren, 

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();
4
deepak bhat

Sind Sie sicher, die Klasse Java.net.URL zu verwenden? Überprüfen Sie Ihre Importaussagen.

2
rlegendi

Es kann sinnvoller sein, eine http-Client-Bibliothek wie this zu verwenden.

Es gibt weitere Dinge wie Zugriff verweigert, Dokument verschoben usw., wenn Sie mit http umgehen.

(In diesem Fall ist es jedoch unwahrscheinlich)

1
Jayan

Wenn Sie nur die Webseite öffnen möchten, denke ich, ist weniger mehr in diesem Fall:

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"));

        }
    }
}
1
Andy Reid

Ich habe diese Frage beim Googeln gefunden. Wenn Sie den Inhalt der URI nur über eine Zeichenfolge verwenden möchten, sollten Sie die Apache-Methode IOUtils.toString() in Betracht ziehen.

Eine Beispielzeile könnte beispielsweise sein:

String pageContent = IOUtils.toString("http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de", Charset.UTF_8);
0
entpnerd