Einloggen bei the-WEst.de

  • Ich wollt ein Skript schreib was sich bei der Website the-West.de automatisch einloggt:
    Mein Code:

    wenn ich das ausüfhre kommt: "Sie haben kein Javascript aktiviert"

    wenn ich aber das _IEFormSubmit ($IE_Login_Form) weglasse dann komm alles ganz normal
    jetzt hab ich probiert den Button zum einloggen anzuklicken aber ich kann seine ID nich finden spric ihn auch nicht anklicken
    und mien nächtes Problem ist kann ich ieformgetcollection iwie ausgeben und angucken

  • hab mal fix ne lösung gebastelt

    [autoit]


    #include <IE.au3>

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

    Dim $sName = "bla", $sPW = "bla"

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

    $IE_Instanz = _IECreate("about:blank", 0, 1, 1, 1)
    $sFormAction = "http://www.the-west.de/index.php?ajax=check_login"
    $sHeader = "Content-Type: application/x-www-form-urlencoded; charset=utf-8"
    $sDataToPost = "json=%7B%22name%22%3A%22"&$sName&"%22%2C%22password%22%3A%22"&$sPW&"%22%7D"
    $sLength = "Content-Length: "&StringLen($sDataToPost)
    $oDataToPostBstr = __IEStringToBstr($sDataToPost)
    $IE_Instanz.navigate2 ($sFormAction, "Default", "_self", $oDataToPostBstr , $sHeader&@CRLF&$sLength)

    [/autoit]


    ^^

    2te Frage:

    [autoit]

    $oForms = _IEFormGetCollection($IE_Instanz, 0)
    If @Error Then MsgBox(0,"", @Error)
    $sForm = ""
    For $oForm In $oForms
    $sElements &= $oForm.name&@CRLF
    Next

    MsgBox(0,"", $sElements)

    [/autoit]
  • iwie tut die erste Lösung nicht, statt eingelogt zu werden lande ich auf dieser Seite:

    {"player_id":136**5,"password":"9e4a53112f3****61468313b496c2169aab88ebe","worlds":[1,3]}

  • naja auf der autoitscript.com seite

    aber du brauchst ja eigentlich nur diese Funtion.

    [autoit]

    Func __IEStringToBstr($s_string, $s_charSet = "us-ascii")
    Local Const $adTypeBinary = 1, $adTypeText = 2
    Local $o_Stream

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

    $o_Stream = ObjCreate("ADODB.Stream")

    $o_Stream.Type = $adTypeText
    $o_Stream.CharSet = $s_charSet
    $o_Stream.Open
    $o_Stream.WriteText($s_string)
    $o_Stream.Position = 0

    $o_Stream.Type = $adTypeBinary
    $o_Stream.Position = 0

    Return $o_Stream.Read
    EndFunc ;==>__IEStringToBstr

    [/autoit]