Einloggen auf marcophono #2

  • Hallo!

    Ich hatte ja schon einen Thread, in dem es um ein Autologin für marcophono.net ging. Es funktioniert alles, wie ich es will. Mit Ausnahme der Schleife:
    Mit meiner aktuellen Check-Funktion wird erkannt, wenn man NICHT durch ist. Allerdings passiert nichts, wenn man durch ist, da durch den LiveStream die Seite quasi nie aufhört zu laden. TimeOut möchte ich eigentlich vermeiden.

    Meine aktuelle Checkfunktion:

    Spoiler anzeigen
    [autoit]

    Func _check()
    _IELoadWait($oIE)

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

    MsgBox(64, "bla", "_check() hat ie fertig laden lassen", 2)

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

    If $scene = "Das Rockfestival" Then ;$scene = GUI ComboBox auslesen
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=15"
    ElseIf $scene = "Pizza kommt später" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=13"
    ElseIf $scene = "Quiz-Taxi" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=12"
    ElseIf $scene = "Sie sind im Radio!" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=4"
    ElseIf $scene = "Ja, wer ist denn hier?" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=3"
    ElseIf $scene = "Dr. Radelsberger sucht..." Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=1"
    EndIf

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

    $source = _INetGetSource($url2)

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

    If StringInStr($source, "<b>Alle Leitungen belegt:</b><br>") Then
    _IEQuit($oIE)
    _create($callfrom, $callto, $number, $url)
    Else
    _success()
    EndIf
    EndFunc

    [/autoit]

    Was könnte ich denn noch machen? Ich habe festgestellt, dass sich die URL von z.B. http://www.marcophono.net/flatrate_15_a.html in http://www.marcophono.net/flatrate_15_b.html ändert, wenn man durchgekommen ist. Kann ich irgendwie die aktuelle URL abfragen?

    fabs

  • Hmm und wie krieg ich das hin, dass es nicht die alte URL sondern die neue ausliest? Ihc brauche ja ein extra objekt

    Spoiler anzeigen
    [autoit]

    Func _check()
    _IELoadWait($oIE)

    MsgBox(64, "bla", "_check() hat ie fertig laden lassen", 2)

    If $scene = "Das Rockfestival" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=15"
    ElseIf $scene = "Pizza kommt später" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=13"
    ElseIf $scene = "Quiz-Taxi" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=12"
    ElseIf $scene = "Sie sind im Radio!" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=4"
    ElseIf $scene = "Ja, wer ist denn hier?" Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=3"
    ElseIf $scene = "Dr. Radelsberger sucht..." Then
    Global $url2 = "http://www.marcophono.net/error.php?rcode=13&premium=&number=" & $number & "&game=1"
    EndIf

    ;~ $source = _INetGetSource($url2)
    $source = _IEDocReadHTML($oIE) ;$oIE = _IECreate($url, 0, 1, 0, 1)
    FileWrite("data.txt", $source)
    Exit
    EndFunc

    [/autoit]

    Damit wird ja nur der Code der alten Seiten (wo noch Daten eingegeben werden müssen) heruntergeladen.

  • sry ich kenn mich mit marcophono (leider ^^) nicht so gut aus, aber wenn sich die URL ändert, dann kannst du das doch über _IEPropertyGet ($oIE,"locationurl" ) abfragen?! :huh:

  • Den Befehl hab ich ja auch gesucht :) Danke ich probiers aus.

    edit:
    Wieder das alte Problem. Das Skript macht einfach nix weiter wenn ich durchkomme. Durch den LiveStream hat die Seite erst am Ende des "Verarschungsvorganges" fertig geladen. Hast du ne Idee, wie ich das ohne festgelegtes TimeOut lösen könnte?

    Einmal editiert, zuletzt von fabs (18. Juni 2008 um 15:29)

  • Hmm ich glaube ich hab dieses Problem umgangen, jedoch liegt das jetzt woanders:

    _IEFormSubmit pausiert immer eine Zeit, bis die Seite fertig geladen hat oder so. Folglich funktioniert nix mehr wenn man es in eine Leitung geschafft hat.

    Mit dem Befehl

    [autoit]

    _IEImgClick($oIE, "http://images.marcophono.net/images/anrufen.jpg")

    [/autoit]


    klappt es auch nicht. Fehler:

    [autoit]

    --> IE.au3 V2.3-1 Warning from function _IEImgClick, $_IEStatus_NoMatch
    --> IE.au3 V2.3-1 Error from function _IEPropertyGet, $_IEStatus_InvalidObjectType

    [/autoit]


    Woran liegts?