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????
;~ ;Check existance of a URL
;~ ;adapted to AutoIt from http://www.developerfusion.co.uk/show/1605/
;~ ;by DaleHohm
;~ ;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"
;
$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
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
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number, ![]()
$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