next up previous contents
Next: Listing von LinkTest.BaumErstellen Up: Listings zum Skript LinkTest Previous: Listing von LinkTest

Listing von LinkTest.FehlerList

#!/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);
    }



Copyright Munich Network Management Team