Hallo,
ich habe schon gesucht wie ein wilder und auch Google bemüht, bin aber zu keiner sinnvollen Lösung für mein Problem gekommen. Darum erhoffe ich mir jetzt Abhilfe. Ich habe angefangen, mich mit der Winhttp.au3 auseinander zu setzen und wollte mich anhand eines Bsps. etwas einarbeiten. Da lag natürlich nahe, bei einem Browsergame einen Login vorzunehmen und dann diverse Daten auf der Seite auszulesen. Vorweg, das soll kein sinnloser Clickbot oder irgendwas in diese Richtung werden. Der Login funktioniert schonmal allerdings weiß ich dann nicht weiter. Wenn ich den Login abschicke, wird auf eine Seite weitergeleitet, auf der man einen Link anklicken müsste um ins Spiel zu kommen, oder man wartet auf die automatische Weiterleitung. Dabei wird ein "Key" erzeugt, welchen ich auch noch auslesen kann. Wenn ich nun aber die eigentliche Spielseite aufrufen möchte und den Quellcode auslese, bekomme ich ein leeres Ergebniss zurück.
Hier nun erstmal mein Code:
Der entsprechende Teil aus LiveHttPHeaders sieht so aus:
ich habe schon gesucht wie ein wilder und auch Google bemüht, bin aber zu keiner sinnvollen Lösung für mein Problem gekommen. Darum erhoffe ich mir jetzt Abhilfe. Ich habe angefangen, mich mit der Winhttp.au3 auseinander zu setzen und wollte mich anhand eines Bsps. etwas einarbeiten. Da lag natürlich nahe, bei einem Browsergame einen Login vorzunehmen und dann diverse Daten auf der Seite auszulesen. Vorweg, das soll kein sinnloser Clickbot oder irgendwas in diese Richtung werden. Der Login funktioniert schonmal allerdings weiß ich dann nicht weiter. Wenn ich den Login abschicke, wird auf eine Seite weitergeleitet, auf der man einen Link anklicken müsste um ins Spiel zu kommen, oder man wartet auf die automatische Weiterleitung. Dabei wird ein "Key" erzeugt, welchen ich auch noch auslesen kann. Wenn ich nun aber die eigentliche Spielseite aufrufen möchte und den Quellcode auslese, bekomme ich ein leeres Ergebniss zurück.
Hier nun erstmal mein Code:
Code:
#include <WinHTTP.au3>
#include <String.au3>
Global $pkey
$host_url = "www.anno1777.com"
$username="********"
$pw="********l"
; Einloggen
$hw_open = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5")
$hw_connect = _WinHttpConnect($hw_open, $host_url)
While 1
_Login()
_Mainpage()
;MsgBox(4096, "Test", $pkey[0], 5)
Exit
WEnd
;_WinHttpCloseHandle($h_openRequest)
_WinHttpCloseHandle($hw_connect)
_WinHttpCloseHandle($hw_open)
func _Login()
$post="user="&$username&"&pass="&$pw
$h_openRequest = _WinHttpOpenRequest($hw_connect,"POST", "/pages/index/get_page.php?act=login","HTTP/1.1",$host_url)
_WinHttpSendRequest($h_openRequest, "Content-Type: application/x-www-form-urlencoded"& @CRLF, $post)
_WinHttpReceiveResponse($h_openRequest)
$shtml = _WinHttpReadData($h_openRequest)
;MsgBox(4096, "Test", $shtml, 10)
$pkey = _StringBetween($shtml, 'php?key=', '&lang=')
;MsgBox(4096, "Test", $pkey[0], 5)
_WinHttpCloseHandle($h_openRequest)
EndFunc
func _Mainpage()
$post2="key="&$pkey[0]&"&lang=EN"
;MsgBox(4096, "Test", $post2, 5)
$h_openRequest = _WinHttpOpenRequest($hw_connect,"POST", "/pages/main/main.php","HTTP/1.1",$host_url)
_WinHttpSendRequest($h_openRequest, "Referer: http://www.anno1777.com/index.php?lang=EN"& @CRLF &"Content-Type: application/x-www-form-urlencoded"& @CRLF, $post2)
_WinHttpReceiveResponse($h_openRequest)
Local $data=""
Do
$data&=_WinHttpReadData($h_openRequest)
Until @error
MsgBox(0, "Inhalt", $data)
_WinHttpCloseHandle($h_openRequest)
EndFunc
Code:
http://anno1777.com/pages/index/get_page.php?act=login&user=********&pass=******** GET /pages/index/get_page.php?act=login&user=********&pass=******* HTTP/1.1 Host: anno1777.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Referer: http://anno1777.com/ Cookie: __utma=220913736.110700815.1368946741.1368993658.1369041945.8; __utmz=220913736.1368946741.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); PHPSESSID=04ac475bd278d9e2519620f42432b8d6; __utmb=220913736.4.10.1369041945; __utmc=220913736 HTTP/1.1 200 OK Date: Mon, 20 May 2013 09:28:04 GMT Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_qos/10.10 PHP/5.4.11 X-Powered-By: PHP/5.4.11 Content-Length: 821 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html ---------------------------------------------------------- http://anno1777.com/pages/main/main.php?key=4316979731b0738b6e1831e4be1fcda6&lang=EN GET /pages/main/main.php?key=4316979731b0738b6e1831e4be1fcda6&lang=EN HTTP/1.1 Host: anno1777.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Referer: http://anno1777.com/ Cookie: __utma=220913736.110700815.1368946741.1368993658.1369041945.8; __utmz=220913736.1368946741.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); PHPSESSID=04ac475bd278d9e2519620f42432b8d6; __utmb=220913736.4.10.1369041945; __utmc=220913736 HTTP/1.1 200 OK Date: Mon, 20 May 2013 09:28:04 GMT Server: Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_qos/10.10 PHP/5.4.11 X-Powered-By: PHP/5.4.11 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Keep-Alive: timeout=5, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html ----------------------------------------------------------