Quelltext einer weitergeleitenden Seite auslesen

Speedrunner

Grünschnabel
Hallo,

wenn ich den Seitenquelltext einer Webseite, die eine Weiterleitung ist, mit der URL Klasse auslesen möchte, bekomme ich nur den Quelltext der Weiterleitung. Ich möchte aber den Quelltext der Webseite auf die weitergeleitet wird auslesen. Also muss das java-Programm, wie ein Browser, die Weiterleitung durchführen. Ich weiß nicht genau wie man dies realisiert. Bis jetzt bin ich auf die HttpURLConnection Klasse gestoßen, bei der eigentlich die Methode "x.setFollowRedirects(true)" die Weiterleitung gewährleisten sollte. Ich weiß nun nicht, was sonst noch notwendig ist, damit das java-Programm die weitergeleitete Seite ausliest.

Mein Code bis jetzt:

Code:
public static void weiterleitung() throws Exception{

        String seitenQuellcode;
        String addresse="http://www.google.de/";
        URL un = new URL(addresse);
        
        HttpURLConnection neu=(HttpURLConnection)un.openConnection();
        neu.setFollowRedirects(true);
        URL u= neu.getURL();

        InputStream ins=u.openStream();      // auslesen der Seite
        seitenQuellcode= new Scanner(ins).useDelimiter("//html//").next();
        System.out.println(seitenQuellcode);
        
    }
 
guckst du hier, da hab ich schon mal was zu HtmlUnit geschrieben, ein Framework welches einen Browser simuliert. Damit müsste es ohne weiteres gehen...
 
Danke.
HtmlUnit hört sich vielversprechend an. Aber es scheint einiges an Einarbeitungszeit zu kosten. Gibt es bei HtmlUnit ein paar Methoden oder Klassen, die bei meinem Problem helfen könnten?
 
Also, da HtmlUnit einen Browser simuliert, sollte es die Weiterleitung automatisch beachten. Dann solltest du mit
Code:
HtmlPage.asXml();
den Quellcode holen können.

Um eine Seite zu laden, einfach:
Code:
WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
 
Ok danke. Das werde ich mal ausprobieren.
Im Moment habe ich ein Problem mit dem Classpath bei Netbeans.
Ich habe die .zip Datei von HtmlUnit bei den Properties des Projektes unter Libraries zwar hinzugefügt. Aber dennoch erkennt Netbeans das Package "com.gargoylesoftware.htmlunit " nicht, wenn ich es beim Programmieren importieren möchte.
 
Du musst die zip entpacken und die einzelnen .jar-Dateien unter Librarys hinzufügen.
Die htmlunit.jar allein reicht dabei nicht aus, da HtmlUnit sehr viele Fremdbibliotheken benutzt. Du musst alle .jar-Dateien aus dem lib-Verzeichnis einbinden...
 
Schön jetzt scheint es zu klappen, dass er den Quelltext der weitergeleiteten Seite ausliest :). Danke für die Hilfe.
Gibt es eine Methode, um die URL auf die weitergeleitet wird, anzuzeigen?
 

Neue Beiträge

Zurück