Fehlersuche im WWW - die Spinne zum Netz IFC-Vortrag 21.10.1998.

Slides:



Advertisements
Ähnliche Präsentationen
Klassen - Verkettete Liste -
Advertisements

Informatik II – Kapitel 11
Einführung in die Programmierung Ausführbare Klassen
Inhalt – Technische Grundlagen
„Such-Algorithmen“ Zusammenfassung des Kapitels 11
Threads Richard Göbel.
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
WHILE - Anweisung.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
DO...WHILE Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.

EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Modulare Programmierung
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
Das Roboterprojekt Einführung Der erste Entwurf Das Thread-Konzept Hindernisse Website.
Thema: Fibonacci-Zahlen
Informatikunterricht mit Java
Struktogramme IF-ELSE FOR – Schleife
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Einfach verkettete Listen
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Rekursive Funktionen (Fakultät)
Applets Java für’s Web.
Übungen zum Vortrag „Backtracking mit Heuristiken“
Die Zählschleife int s = 0 for (int k=1; k
Parallel Matrix Multiplication
Informatik 1 Übung 4.
Einführung in JavaKara
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Javelin Internet-based parallel computing using Java.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 // Verkettete Liste 3 // demonstriert verkettete Listen und // Rekursion // (mit Entfernen eines Listenelementes) // #include struct Liste { int Element;
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
1 // Verkettete Liste 2 // demonstriert verkettete Listen und // Rekursion // (Einfügen am "Fuß") // #include struct Liste { int Element; Liste *weiter;
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, WS 2005/06 1 Beispiel class SpreadSheet { int cellA1, cellA2, cellA3; synchronized.
PHPUG Karlsruhe 1. Juli 2009 Zend_ProgressBar und Zend_Tag_Cloud Ben Scholzen Software Entwickler DASPRiD's.
Praktische Informatik 1
JAVA lernen: Methoden.
Rekursion – Speicherverwaltung
Zwei Denkansätze zur Klasse Schlange
Aufgaben zu Rückgabewerten
Felder in Java.
Kniffelergebnisse.
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Informatik Kurse
PGdP Tutorstunde 4 Gerald Mahlknecht Technische Universität München Informatik Divide and Conquer.
Arrays of Objects, a 3 part process
1. Die rekursive Datenstruktur Liste 1
Kara: act()-Methode.
Heapsort-Algorithmus
 Präsentation transkript:

Fehlersuche im WWW - die Spinne zum Netz IFC-Vortrag

Aufgabenstellung Automatisches rekursives Absuchen von Web-SeitenAutomatisches rekursives Absuchen von Web-Seiten Fehlererkennung und -protokollierungFehlererkennung und -protokollierung Darstellung im Web-BrowserDarstellung im Web-Browser Ergebnis per Ergebnis per Überwachung über TCP/IP und im BrowserÜberwachung über TCP/IP und im Browser

Die Grundlage web robotsweb robots konfigurierbarkonfigurierbar Source-CodeSource-Code ACME-Paket in JavaACME-Paket in Java

Die Hauptschleife von Spider Spider as = new Spider(System.err); as.addUrl(args[0]); while ( as.hasMoreElements() ) { URLConnection uc = (URLConnection) as.nextElement(); InputStream s = uc.getInputStream(); while ( s.read() != -1 ); s.close(); }

Aus Acme.Spider wird die Spinne Fehlersuche statt Link-ErnteFehlersuche statt Link-Ernte FehlererkennungFehlererkennung FehlerausgabeFehlerausgabe Effizienzsteigerung und Entfernen von bugsEffizienzsteigerung und Entfernen von bugs

Die Link-Auslese if (excludePath) { pathOk=true; for (int i=0; i<path.length && pathOk; i++) pathOk=!file.startsWith(path[i])); } else { pathOk=false; for (int i=0; i<path.length && !pathOk; i++) pathOk=file.startsWith(path[i])); } if (pathOk && ip.equals( InetAddress.getByName(url.getHost()).getHostAddress() )) return true;

Die Fehlererkennung Exception tioe = new FileNotFoundException("TimeOut"); Thread t=new Thread() { public void run() { uc.connect(); /* HeaderField ok ? 20* oder 30* ?*/ /* InputStream ok ?Content-Type ok ?*/ tioe=null; } t.start(); t.join(TIMEOUT); t.stop();

Aus der Spinne wird die Netzspinne Konfiguration über html-FormKonfiguration über html-Form Start als cgi-SkriptStart als cgi-Skript Ausgabe in htmlAusgabe in html Ergebnis als Ergebnis als Statusinformation per JavaScriptStatusinformation per JavaScript Kontrolle via TCP/IPKontrolle via TCP/IP

Beispiel

Unvermeidbare Probleme ftp:, telnet:, mailto: usw.ftp:, telnet:, mailto: usw. 302 Redirect302 Redirect302 Redirect302 Redirect 403 Forbidden403 Forbidden cgi-Skriptecgi-Skriptecgi-Skripte

Einschränkungen DatenmengeDatenmenge bugsbugs

Resultat Technisch: leidlich stabilleidlich stabil Netzspinne ist einsetzbarNetzspinne ist einsetzbarPersönlich: ständiger Praxistestständiger Praxistest viel gelerntviel gelernt

That‘s all, folks!