Benedikt: Java: gebrochene Links erkennen ???

Ich schreibe gerade ein Applet, das das (Nicht-) Vorhandensein einer Internetseite automatisch nach dem Start ermitteln und anzeigen soll.

Jetzt habe ich das ganze Drumherum fertig, aber ich komme mit dem Kern nicht zu Rande...

Welche Methode muß man versuchen (try), und welche Ausnahme muß man fangen (catch), um eine Auskunft, darüber zu bekommen, ob hinter einer URL noch Daten existieren ?

Ich habe schon versucht:
try {new URL} catch (java.net.MalformedURLException)
try {URL.openConnection()} catch(IOException)
try {URL.getContent()} catch(IOException)
try {URL.openStream()) catch (ConnectException,
UnknownHostException, FileNotFoundException)
...leider ohne den gewünschten Erfolg.

Z.T. bekomme ich Fehlermeldungen wie
com.ms.security.SecurityExceptionEx[URLtest.start]: cannot access "www.uni-dortmund.de"

...also irgendwelche sicherheitstechnischen Dinge;
die URL der Uni Dortmund ist kein gebrochener Link.

Bitte um Hilfe,

Benedikt

  1. Hallo Benedikt,

    Ich schreibe gerade ein Applet, das das (Nicht-) Vorhandensein einer Internetseite automatisch nach dem Start ermitteln und anzeigen soll.

    Z.T. bekomme ich Fehlermeldungen wie
    com.ms.security.SecurityExceptionEx[URLtest.start]: cannot access "www.uni-dortmund.de"

    das sieht nach einem Sicherheitsproblem aus. Ein Applet darf naemlich keine Sicherheitskritischen Aktionen ausfuehren (Sandbox verlassen) ohne Genehmigung des Users.
    Zu diesen Aktionen gehoeren unter anderem der Zugriff auf Files und das Lesen von Systemvariablen. Der einzige Weg diese Aktionen ausfuehren zu koennen ist das Signieren des Applets mit einem entsprechenden Zertifikat fuer den jeweiligen Browsertyp. Leider ist dieser Vorgang, die Werkzeuge dafuer, sowie die benoetigten Zertifikate fuer jeden Browser anders. (Bem.: Das ist mal wieder toll oder? Da hat man mal was plattformunabhaengiges und dann kommen wieder MS und Netscape mit ihren Extrawürsten!)
    Informationen hierzu findest Du unter

    < http://java.rrzn.uni-hannover.de/jug/sigapplets/>

    Beim Netscape kommt noch hinzu dass man die benoetigten Privilegien zusaetzlich direkt im Quellcode des Applets abfragen muss, siehe:

    < http://developer.netscape.com/docs/manuals/signedobj/capabilities/>

    Hier ist noch ein Tip, falls Du mal nicht weisst welche Ausnahme geworfen wird, immer die Standard "Exception" abfangen und ausgeben, dann siehst Du welche es war.

    Gruss, Tom.

    1. hi Thomas, hi Benedikt,

      vielleicht hilft es zur Code-Entwicklung das ganze erstmal als Java-Application zu testen. Dann bleibt das ganze Problem der Rechte der Applets draußen vor; wenn es dann klappt, kann man sich mit den Applet herumschlagen.

      Tschuess
      Olaf