Redirect bei URL-Auflösung herausfinden

  • Hallo Community,

    ich arbeite seit längerem mit AutoIt und bin von der Sprache einfach begeistert. Natürlich habe ich immer wieder Probleme mit Syntax und Befehlen, aber dieses mal komme ich nicht weiter, weil mir sogar das Konzept der Lösung, mit der ich arbeite, unbekannt ist.

    Problem:
    Ich betreibe GEO-Caching und möchte diese Woche abends eine Runde mit Freunden drehen. Der Cache ist ein Mystery, also einer mit einem Vorangestellten Rätsel. Ich habe den vor langer Zeit schon einmal gemacht, weiss aber die Lösung nciht mehr.

    Diese Lösung des Rätsels wird in eine URL eingetragen (http://www.fleischer-r.de/DarkKnight/falsch/xxxxxx.html) wobei anstelle der xxxxxx die sechs Lösungsziffern stehen. Ihr könnt es ja einmal ausprobieren, wenn man die falsche Adresse eingibt, gibt es einen redirect auf (http://www.fleischer-r.de/DarkKnight/falsch/)...

    Ich möchte jetzt automatisiert alle Kombinationen durchgehen und schauen, welche wohl die richtige ist, das funktioniert soweit auch, aaaaber... wegen dem redirect werden natürlich alle Seiten als gültig angezeigt.

    Frage:
    wie kann ich Seiten mit bestimmten Inhalt aussortieren????


    [autoit]

    ;~ ;Check existance of a URL
    ;~ ;adapted to AutoIt from http://www.developerfusion.co.uk/show/1605/
    ;~ ;by DaleHohm

    [/autoit][autoit][/autoit][autoit]

    ;~ ;Timeout values in milliseconds
    $ResolveTimeout = 100
    $ConnectTimeout = 100
    $SendTimeout = 100
    $ReceiveTimeout = 100
    ;
    Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
    $oHttpRequest = ObjCreate("MSXML2.ServerXMLHTTP")
    ;~ $sTestUrl = "http://www.microsoft.com/nonexistingpage.html"
    ;

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $foundsites = ""
    For $i1 = 0 to 9
    For $i2 = 0 to 9
    For $i3 = 0 to 9
    For $i4 = 0 to 9
    For $i5 = 0 to 9
    For $i6 = 0 to 9

    ConsoleWrite("Checking " & $i1 & $i2 & $i3 & $i4 & $i5 & $i6 & ".html" & @CRLF)

    $plsfindthisurl = "http://www.fleischer-r.de/DarkKnight/" & $i1 & $i2 & $i3 & $i4 & $i5 & $i6 & ".html"
    _checkurl($plsfindthisurl)

    Next
    Next
    Next
    Next
    Next
    Next
    $oHttpRequest = ""
    MsgBox(0, "", $foundsites)
    Exit

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _checkurl($sTestUrl)
    With $oHttpRequest
    .SetTimeouts ($ResolveTimeout, $ConnectTimeout, $SendTimeout, $ReceiveTimeout)
    .Open ("GET", $sTestUrl)
    .Send
    Select
    Case .Status = 200;No problem!
    ConsoleWrite($sTestUrl & " is a valid, available URL" & @CR)
    $foundsites = $foundsites & $sTestUrl & @CRLF
    Case .Status = 404;Not found
    ConsoleWrite($sTestUrl & " could not be found (404 Error)" & @CR)
    Case Else;Some other problem
    ConsoleWrite("An unexpected HTTP Status value was returned: " & .Status & @CR)
    EndSelect
    MsgBox(0, "", $oHttpRequest)
    EndWith
    ;
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; Com Error Handler
    Func MyErrFunc()
    $HexNumber = Hex($oMyError.number, 8)
    $oMyRet[0] = $HexNumber
    $oMyRet[1] = StringStripWS($oMyError.description,3)
    ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
    SetError(1); something to check for when this function returns
    Return
    EndFunc ;==>MyErrFunc

    [/autoit]