Winhttp / JavaScript Enablend

08/28/2013 00:10 emil#1
Hallo ich mal schon wider, :confused:
ich hab nen neues Problem mittlerweile klapt das mit dem Einloggen vom Bot aber jetzt bekomme ich die Fehlermeldung:

Code:
Your web browser musst have JavaScript enabled in order for this application to display correctly.
Er gibt mir nur ein Teil der Seite aus, brauche aber die Daten für den weiteren verlauf.

Hier mal das Script soweit, ist bestimmt nicht perfekt aber ich bin am Lernen :D

Code:
#include <WinHTTP.au3>
#include <Array.au3>
#include <String.au3>

Global $HTML = ""
global $sHTML = ""
Global $WinHTTP_Host = "battleofcrowns.com"
Global $WinHTTP_Host1 = "belize3.de.battleofcrowns.com"
Global $WinHTTP_Client = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0")
Global $WinHTTP_Connect1 = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host1)                      
Global $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
Global $sToken = ""
Global $Gamelink = ""
Global $OAuth = 'Authorization: Bearer '
Global $sID = ""


While 19 ; Die "normale" Hauptschleife
; Wir führen nacheinander die Funktionen aus
    _Login()
    ClipPut(_Abfrage()) ; Die Ergebnisse - Code den packen wir uns zum Testen immer in den Zwischenspeicher (finde ich besser als FileWrite!)
    Exit
WEnd

Func _Login()
    $HTML = Win_GET_To("battleofcrowns.com", "/de/") ;STARTSEITE
    $HTML = Win_GET_To("battleofcrowns.com", "/de/?popup=login") ;POPUP
    $HTML = Win_POST_To("battleofcrowns.com", "/public/api/login",'{"email":"[Only registered and activated users can see links. Click Here To Register...]","password":"12345678"}')
$tokenabfrage =  StringRegExp($HTML , '"token":"(.+?)"', 3) ; Token wird ausgelesen
	If IsArray($tokenabfrage) Then
    $sToken = $tokenabfrage[0]
EndIf	
$deine_Id =  StringRegExp($HTML , '"playerId":(.+?),"', 3) ; PlayerId wird ausgelesen
    If IsArray($deine_Id) Then
    $sID = $deine_Id[0]
EndIf
	$HTML = _WinHttpSimpleRequest($WinHTTP_Connect,"GET", "/public/api/player/"& $sID & "/gameclientlink?domain=belize3.de.battleofcrowns.com&_=1377532546574","/de/?page=serverList" & @CRLF & $OAuth & $sToken)
$Si = StringRegExp($HTML , '/gameserver/game.jsp\?user=(.+?)%3D%3D', 3) ; Gamelink wird ausgelesen
	If IsArray($Si) Then
    $Gamelink = $Si[0]
 EndIf

    $sHTML = _WinHttpSimpleRequest($WinHTTP_Connect1,"GET",'/gameserver/game.jsp?user=' & $Gamelink & '%3D%3D&w=1920&h=1080&pixelRatio=1',"/de/?page=serverList" & "&useCookies=1&url=") 
    ;$a = _StringBetween($HTML,'<html style="overflow: hidden;">"','"</html>')
    ;ConsoleWrite($HTML)
	
	;<------------ hier bleibe ich hängen >-------------------------------------------------------
	
	
    MsgBox(0, "POST-Login", $sHTML) ; nur zum Testen
    FileWrite("Login.html", $sHTML) ; nur zum Testen
 




 
 ;$sHTML = _WinHttpSimpleRequest($WinHTTP_Connect1,"GET",'/gameserver/cc/service/init', '/gameserver/game.jsp?user=' & $Gamelink & '%3D%3D&w=1920&h=1080&pixelRatio=1')

EndFunc	
	


Func _Abfrage()
   
    MsgBox(0, "Token.txt", $sToken) ; nur zum Testen
	MsgBox(0, "playerId", $sID) ; nur zum Testen
	MsgBox(0, "Gamelink", $Gamelink) ; nur zum Testen
	
   
  
   ;$aReturn = StringRegExp($shtml , '<div class="HudProfile-Gold-Icon">(\d+?)</div>', 3)
   ;MsgBox(64, "Goldbetrag", $aReturn[0]) ; nur zum Testen   	
EndFunc	


Func Win_GET_To($sHost, $sSite)
    If Not ($sHost = $WinHTTP_Host) Then
        $WinHTTP_Host = $sHost
        $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
	 EndIf
     $WinHTTP_Request = _WinHttpOpenRequest($WinHTTP_Connect, "GET", $sSite, "HTTP/1.1", $sHost)
	_WinHttpSendRequest($WinHTTP_Request)
	_WinHttpReceiveResponse($WinHTTP_Request)
  Local $sHTML = ""
    Do
        $sHTML &= _WinHttpReadData($WinHTTP_Request)
    Until @error
    Return $sHTML
EndFunc   ;==>Win_GET_To1


Func Win_POST_To($sHost, $sSite, $sPost)
    If Not ($sHost = $WinHTTP_Host) Then
        $WinHTTP_Host = $sHost ; Neuen Host bestimmen
        $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
    EndIf
    $WinHTTP_Request = _WinHttpOpenRequest($WinHTTP_Connect, "POST", $sSite, "HTTP/1.1", $sHost)
    _WinHttpSendRequest($WinHTTP_Request, "Content-Type: application/json; charset=UTF-8" & @CRLF, $sPost)
    _WinHttpReceiveResponse($WinHTTP_Request)
	Local $sHTML = ""
	Do
	   $sHTML &= _WinHttpReadData($WinHTTP_Request)
    Until @error
    Return $sHTML
 EndFunc   ;==>Win_POST_To

_WinHttpCloseHandle($WinHTTP_Connect, $WinHTTP_Connect1)
_WinHttpCloseHandle($WinHTTP_Client)
hat wer ne Idee was ich falsch mache, Danke im vorraus :handsdown: