#!/usr/local/dist/bin/perl ###################################################################### # # Programm : LinkTest.FehlerList # Parameter : Name der zugrundeliegenden Fehler-Log-Datei von LinkTest # Beschreibung : Gibt eine detailiertere Fehlerbeschreibung zu den # bei einem Lauf von LinkTest festgestellten Fehlern aus. # ###################################################################### # Uebernahme der Parameter if ($ARGV[0]) { $FehlerLogDatei = $ARGV[0] ; } else { $FehlerLogDatei = 'f.ERR.LOG'; } #################################################################### # Die Fehler-Log-Datei "offnen, die interne Darstellung herausziehen # und damit die Variablen belegen if(!open(LOGERR,"$FehlerLogDatei")) { die "\nKonnte Fehler-Log-Datei $FehlerLogDatei nicht "offnen!\n"; } while (<LOGERR>) { if (/^Intern --:/) { $Beschreibung = substr($_,11); ($DomainPortLink,$LinkMethode,$VaeterZeile,$Fehler) = split(";",$Beschreibung); print "\nLink : $DomainPortLink\n"; print "Vaeter : ",join("\n ",split(/\|/,$VaeterZeile)),"\n"; print &FehlerBearbeiten($Fehler); } else { next; } } close (LOGERR); ###################################################################### # # Unterprogramm FehlerBearbeiten # ###################################################################### sub FehlerBearbeiten { # Uebernahme der Parameter local($Fehler) = @_ ; # Definition von lokalen Variablen # local($FehlerLang); if ($Fehler == 400) { $FehlerLang = "Fehlercode: 400 Bad Request\nKategorie : Client-Fehler\n Klartext : Die Syntax der angegebenen Url war falsch. Ein weiterer Versuch\n wird auch fehlschlagen. Bessern Sie die Url aus.\n"; } elsif ($Fehler == 401) { $FehlerLang = "Fehlercode: 401 Unauthorized\nKategorie : Client-Fehler\n Klartext : Die Seite, auf die Sie zugreifen wollen erfordert eine Authentification.\nUebermitteln Sie diese im Header ihrer Anfrage.\n Wenn Sie eine Authentifikation mitgeschickt haben, zeigt dieser Fehler an,\n dass diese nicht akzeptiert wurde."; } elsif ($Fehler == 402) { $FehlerLang = "Fehlercode: 402 Payment Required\nKategorie : Client-Fehler\n Klartext : Wird noch nicht benutzt\n"; } elsif ($Fehler == 403) { $FehlerLang = "Fehlercode: 403 Forbidden\nKategorie : Client-Fehler\n Klartext : Der Server hat die Anfrage verstanden, weigert sich aber diese zu erfuellen.\nEine Wiederholung oder Authentifikation hat keinen Sinn.\n Diese Meldung wird oft dazu benutzt, eine Seite ohne Begruendung zu verweigern.\n"; } elsif ($Fehler == 404) { $FehlerLang = "Fehlercode: 404 Not Found\nKategorie : Client-Fehler\n Klartext : Seite konnte unter dieser Adresse nicht gefunden werden.\n"; } elsif ($Fehler == 405) { $FehlerLang = "Fehlercode: 405 Method Not Allowed\nKategorie : Client-Fehler\n Klartext : Die fuer dieses Objekt erforderliche Zugriffsmethode ist nicht explizit im Kopf angegeben.\nEs wurde deshalb nichts geschickt.\n"; } elsif ($Fehler == 406) { $FehlerLang = "Fehlercode: 406 None Acceptable\nKategorie : Client-Fehler\n Klartext : Der Server hat die Seite gefunnden, schickt sie aber nicht,\n da Sie der vom Clienten angegebenen Accept-Klausel nicht entspricht.\n"; } elsif ($Fehler == 407) { $FehlerLang = "Fehlercode: 407 Proxy Authentication Required\nKategorie : Client-Fehler\nKlartext : Fuer die Seite, auf die Sie zugreifen wollen, fordert der Proxy eine Authentification.\nUebermitteln Sie diese im Header ihrer Anfrage.\nWenn Sie eine Authentifikation mitgeschickt haben, zeigt dieser Fehler an,\n dass diese nicht akzeptiert wurde."; } elsif ($Fehler == 408) { $FehlerLang = "Fehlercode: 408 Request Timeout\nKategorie : Client-Fehler\n Klartext : Der Server hat auf eine Anfrage gewartet, aber der Client hat diese nach dem Erstellen der Verbindung\nnicht schnell genug gesendet."; } elsif ($Fehler == 409) { $FehlerLang = "Fehlercode: 409 Conflict\nKategorie : Client-Fehler\n Klartext : Dieser Fehler wird tritt wenn, nur bei den Methoden PUT und PATCH auf.\nEr gibt zumeist an, dass zwei Parteien eine Datei gleichzeitig modifiziert haben.\nEs laegen also beim speichern zwei unterschiedliche Versionen vor, was den Konflikt ausl"ost.\n"; } elsif ($Fehler == 410) { $FehlerLang = "Fehlercode: 410 Gone\nKategorie : Client-Fehler\n Klartext : Die angef"orderte Seite gibt es nicht mehr.\n"; } elsif ($Fehler == 411) { $FehlerLang = "Fehlercode: 411 Length Required\nKategorie : Client-Fehler\n Klartext : Der Server erfuellt die Anfrage erst, wenn der Client ein gueltiges Content-Length Feld mitschickt.\n"; } elsif ($Fehler == 412) { $FehlerLang = "Fehlercode: 412 Unless True\nKategorie : Client-Fehler\n Klartext : Die Bedingung im request-header Feld Unless ist wahr. Der Client kann jetzt entscheiden wie er fortfaehrt.\n"; } elsif ($Fehler == 500) { $FehlerLang = "Fehlercode: 500 Internal Server Error\nKategorie : Server-Fehler\n Klartext : Es trat ein unerwarteter Zustand beim Server ein, weshalb er die Anfrage nicht erfuellen konnte.\n"; } elsif ($Fehler == 501) { $FehlerLang = "Fehlercode: 501 Not Implemented\nKategorie : Server-Fehler\n Klartext : Der Server beherrscht die benutzte Methode nicht.\n"; } elsif ($Fehler == 502) { $FehlerLang = "Fehlercode: 502 Bad Gateway\nKategorie : Server-Fehler\n Klartext : Der Proxy erhielt eine Fehlermeldung des angesprochenen Servers.\n"; } elsif ($Fehler == 503) { $FehlerLang = "Fehlercode: 503 Service Unavailable\nKategorie : Server-Fehler\n Klartext : Der Server ist momentan ueberlastet oder nicht verfuegbar.\n Zu einem spaeteren Zeitpunkt kann wieder zugegriffen werden.\n"; } elsif ($Fehler == 504) { $FehlerLang = "Fehlercode: 504 Gateway Timeout\nKategorie : Server-Fehler\n Klartext : Der Proxy hat innerhalb der Zeitspanne keine Antwort vom angeforderten Server erhalten.\n"; } elsif ($Fehler == 600) { $FehlerLang = "Fehlercode: 600 (intern), Socket failed\nKategorie : Fehler waehrend Skriptausfuehrung\nKlartext : Es war nicht m"oglich, einen Socket fuer die Kommunikation zu erstellen.\n"; } elsif ($Fehler == 601) { $FehlerLang = "Fehlercode: 601 (intern), Bind failed\nKategorie : Fehler waehrend Skriptausfuehrung\nKlartext : Es war nicht m"oglich, eine Verbindung zwischen den Rechnern einzurichten.\n"; } elsif ($Fehler == 602) { $FehlerLang = "Fehlercode: 602 (intern), Connect failed\nKategorie : Fehler waehrend Skriptausfuehrung\nKlartext : Es war nicht m"oglich, von diesem Rechner aus eine Verbindung zum der Domain\nentsprechenden Server aufzubauen.\n"; } elsif ($Fehler == 603) { $FehlerLang = "Fehlercode: 603, Leere Seite\nKategorie : Warnung\n Klartext : Es wurde eine leere Seite empfangen. Dies kann durchaus so gewuenscht sein. Trotzdem wird hier darauf hingewiesen.\n"; } else { $FehlerLang = "Keine ausfuehrliche Beschreibung fuer den Fehler mit Fehlercode: \n$Fehler\n vorhanden"; } return ($FehlerLang); }