# HTML-Code von Webseite über Browser oder Console auslesen??



## magician (2. Sep 2012)

Ich schreibe gerade ein Java Programm, in dem ich (wegen der immer noch nicht bereitgestellten API) auf den HTML-Text einer Webseite zugreifen möchte. Wie man das normalerweise macht, ist mir klar. Das Problem ist nur, dass diese Seite sich nicht automatisch auslesen lässt. Wenn ich die URL aus meinem Java-Programm öffne, bekomme ich nur ein "Client refused" zurückgeliefert (bei anderen URLs funktioniert es dagegen fehlerfrei). Rufe ich die besagte URL über meinen Webbrowser auf, wird sie aber richtig angezeigt.

Kann ich das irgendwie umgehen? Was zum Beispiel funktioniert, ist ein Konsolenaufruf aus dem Java-Programm heraus, welches die Seite automatisch im Browser öffnet. 


```
Runtime.getRuntime().exec("open http://www.google.de");
```

Jetzt ist meine Frage, ob ich von dort irgendwie den Quellcode automatisch in meinem Java-Programm auslesen lassen kann. Aus dem Browser exportieren? Oder kann ich den HTML-Code auf der Console anzeigen lassen und von dort auslesen. Oder kann ich es gar auf einem anderen Wege umgehen?

Ich hoffe meine Frage ist nicht zu speziell und jemand hilft mir weiter - ich wäre sehr dankbar.


----------



## Gast2 (2. Sep 2012)

> Client refused


Das bedeutet soviel wie, dass der Server den USER_AGENT Header prüft und deinen wohl nicht akzeptiert. Standardmäßig steht da irgendwas von Java drin.
Den kannst du aber anpassen indem du die entsprechen Property in URLConnection setzt:
URLConnection (Java Platform SE 6)


----------



## magician (2. Sep 2012)

Eike, ich musste zwar erst googlen, was du denn genau meinst und was ich dann da eintrage, aber jetzt läuft es.

Vielen Dank für den superschnellen Support


----------



## Gast2 (2. Sep 2012)

Schön dass es dir geholfen hat. 
Wenn du jetzt noch den entsprechenden Codeschnipsel postest, dann hilfts anderen vielleicht auch noch weiter


----------



## magician (2. Sep 2012)

```
URL url = new URL("http://www.desired-domain.com");
HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)");
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));

while (br.ready())
{
      System.out.println(br.readLine());
}
 
br.close();
```
Gibt den HTML-Code von http://www.desired-domain.com auf der Konsole aus. Zeile 3 war Eikes Ergänzung...


----------



## OSBI_Fan (2. Sep 2012)

Hallo magician,

um den Quellcode einer Webseite automatisch auszulesen, könntest Du Dir auch eine offline Version mit einem Mirror-Tool erstellen.

z.B: HTTrack Website Copier - Free Software Offline Browser (GNU GPL)

Grüße
OSBI_Fan

OSBI = Open Source Business Intelligence


----------

