tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
1166
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Speedrunner Speedrunner ist offline Mitglied
    Registriert seit
    Aug 2009
    Beiträge
    10
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
     
    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);
            
        }
     

  2. #2
    woezelmann woezelmann ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    45
    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...
     

  3. #3
    Speedrunner Speedrunner ist offline Mitglied
    Registriert seit
    Aug 2009
    Beiträge
    10
    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?
     

  4. #4
    woezelmann woezelmann ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    45
    Also, da HtmlUnit einen Browser simuliert, sollte es die Weiterleitung automatisch beachten. Dann solltest du mit
    Code :
    1
    
    HtmlPage.asXml();
    den Quellcode holen können.

    Um eine Seite zu laden, einfach:
    Code :
    1
    2
    
    WebClient webClient = new WebClient();
    HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
     

  5. #5
    Speedrunner Speedrunner ist offline Mitglied
    Registriert seit
    Aug 2009
    Beiträge
    10
    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.
     

  6. #6
    woezelmann woezelmann ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    45
    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...
     

  7. #7
    Speedrunner Speedrunner ist offline Mitglied
    Registriert seit
    Aug 2009
    Beiträge
    10
    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?
     

  8. #8
    woezelmann woezelmann ist offline Mitglied Bronze
    Registriert seit
    Sep 2007
    Beiträge
    45
    Ich glaub du kriegst die aktuelle url über die toString()-Methode des HtmlPage-Objekts
     

  9. #9
    Speedrunner Speedrunner ist offline Mitglied
    Registriert seit
    Aug 2009
    Beiträge
    10
    Es klappt!
    Danke für deine gute Hilfe.
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 14.09.06, 13:07
  2. Antworten: 6
    Letzter Beitrag: 03.10.05, 11:14
  3. Antworten: 2
    Letzter Beitrag: 17.05.05, 10:52
  4. Antworten: 11
    Letzter Beitrag: 16.12.04, 21:18
  5. Quelltext einer php-datei auslesen
    Von PsychoCat im Forum PHP
    Antworten: 3
    Letzter Beitrag: 01.09.04, 13:08