Java kann URL nicht oder nur manchmal öffnen

Hallo,
beschäftige mich nun schon seit einiger Zeit mit Java und seit Kurzem mit einem Programm, welches den HTML-Inhalt mehrerer URLs auslesen und verarbeiten soll. Nun habe ich hierfür auch eine Methode und mit einer Seite funktioniert das Ganze bereits, bei einer anderen allerdings erhalte ich eine „Java.io.FileNotFoundException“ - die URL existiert allerdings und lässt sich auch in einem Browser öffnen. Nun habe ich festgestellt, dass Java manchmal die Seite doch erreicht, aber warum nur manchmal?

Ich habe jetzt schon viel ausprobiert, komme aber nicht dahinter wo da der Fehler sein könnte…

 //Diese Funktion orientiert sich an folgender: http://entwickler-forum.de/showthread.php?t=48528, aufgerufen am 22.11.2010 um 17:10
 public String getWebseite(String url, boolean encodeEntities, Proxy proxy) throws Exception {
 String quellcode = "";
 try {
 InputStream dataStream = null;

 URL adresse = new URL(url);
 //Wenn Proxy angegeben dann die Verbindung über den Proxy herstellen
 URLConnection verbindung = null;
 if (proxy != null) {
 verbindung = adresse.openConnection(proxy);
 }
 else {
 verbindung = adresse.openConnection();
 }

 dataStream = verbindung.getInputStream();
 //quellcode = new Scanner(dataStream).useDelimiter("\\Z").next();
 }
 catch (Exception ex) {
 System.out.println("Der Download der Webseite '" + url + "' ist fehlgeschlagen: " + ex.toString());
 }

Und hier wird die Methode verwendet:

seite = inet.getWebseite(this.alphabetSeiten.get(i), true, proxy);

Die ArrayList wird hier initialisiert:

 this.alphabetSeiten = new ArrayList();
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=0-9/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=A/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=B/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=C/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=D/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=E/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=F/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=G/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=H/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=I/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=J/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=K/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=L/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=M/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=N/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=O/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=P/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=Q/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=R/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=S/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=T/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=U/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=V/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=W/index.html");
 this.alphabetSeiten.add("http://www.ardmediathek.de/ard/servlet/ajax-cache/3474820/view=list/initial=Z/index.html");

Ich hoffe, mir kann jemand helfen!

Vielen Dank schon mal!

Grüße,
Florian L.

Ich weiß jetzt nicht was du genau vor hast,
aber wenn du mit HTML „dealen“ möchtest, als wäre deine Java-App ein Webbrowser

nimm lieber das hier
http://hc.apache.org/

Die läuft supie, ist stable und recht leichtz erlernbar

Hallo,
danke erstmal für den Tipp. Ich habe mir jetzt die Version 4.0.1 heruntergeladen und in mein Projekt integriert. Beim kompilieren erhalte ich keine Fehlermeldung, allerdings stürzt das Programm beim Aufruf der Methode mit der der folgenden Meldung ab:

Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException
 at org.jdesktop.application.ApplicationAction.actionFailed(ApplicationAction.java:859)
 at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:665)
 at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
 at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
 at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
 at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
 at java.awt.Component.processMouseEvent(Component.java:6267)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
 at java.awt.Component.processEvent(Component.java:6032)
 at java.awt.Container.processEvent(Container.java:2041)
 at java.awt.Component.dispatchEventImpl(Component.java:4630)
 at java.awt.Container.dispatchEventImpl(Container.java:2099)
 at java.awt.Component.dispatchEvent(Component.java:4460)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
 at java.awt.Container.dispatchEventImpl(Container.java:2085)
 at java.awt.Window.dispatchEventImpl(Window.java:2478)
 at java.awt.Component.dispatchEvent(Component.java:4460)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662)
 ... 28 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
 at org.apache.http.impl.client.AbstractHttpClient.(AbstractHttpClient.java:159)
 at org.apache.http.impl.client.DefaultHttpClient.(DefaultHttpClient.java:178)
 at meinemediathek.core.Internet.getWebseite(Internet.java:54)
 at meinemediathek.gui.mainView.showInfoView(mainView.java:807)
 ... 33 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 ... 37 more

Kann mir vielleicht jemand ein Beispiel sagen, wie ich in meinem fall einfach eine Webseite abrufen würde? Das Beispiel der Dokumentation funktioniert bei mir wie obene geschrieben aus irgendeinem dubiosen Grund nicht.

Vielen Dank schon mal!

Grüße,
Florian L.

Hallo,

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at
org.apache.http.impl.client.AbstractHttpClient.

Da fehlt wohl ein JAR File im CLASSPATH, welches der HTTP Client benötigt: http://commons.apache.org/logging/

Gruß
Heavy