Что нового

[Travian] GET и POST запросы

AlexxxRu

Знающий
Сообщения
19
Репутация
6
Вероятно мне в тему для новичков, но там ничего подобного не нашёл.
Решил написать бота для данной игры на уровне гет и пост запросов. Столкнулся с такой проблемой.
При попадании на страницу логина выдаётся рандомное(наверное) значение логина.
Т.е.
Код:
<button type="submit" value="Войти" name="s1" id="s1" onclick="document.login.w.value=screen.width+':'+screen.height;">
<div class="button-container"><div class="button-position">
<div class="btl"><div class="btr"><div class="btc"></div></div></div>
<div class="bml"><div class="bmr"><div class="bmc"></div></div></div>
<div class="bbl"><div class="bbr"><div class="bbc"></div></div></div></div>
<div class="button-contents">Войти</div></div></button>						
<input type="hidden" name="w" value="" />						
<input type="hidden" name="login" value=!!!СОЛЬ!!!"1325737160"!!!СОЛЬ!!! />
Это же значение передаётся в пост запросе.
Вот так:
Код:
 name=dasfas&password=eqweqw&s1=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&w=1920%3A1080&login=1325737160
Вот собственно вопрос.
Как вытащить и передать это значение?
http://ts1.travian.ru/dorf1.php - сайт

Что я вижу через фф
Код:
Заголовки ответа
Server	nginx
Date	Thu, 05 Jan 2012 04:23:50 GMT
Content-Type	text/html; charset=UTF-8
Transfer-Encoding	chunked
Vary	Accept-Encoding
Expires	Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified	Thu, 05 Jan 2012 04:23:50 GMT
Cache-Control	no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma	no-cache
Content-Encoding	gzip

Заголовки запроса
Host	ts1.travian.ru
User-Agent	Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language	ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding	gzip, deflate
Accept-Charset	windows-1251,utf-8;q=0.7,*;q=0.7
Connection	keep-alive
Referer	http://ts1.travian.ru/login.php
Cookie
 
Автор
A

AlexxxRu

Знающий
Сообщения
19
Репутация
6
Re: [Сеть, интернет] Travian. GET and POST

Код:
#include <Array.au3>
Func _Notepad($sText)
    Local $hWin = WinGetHandle('[CLASS:Notepad]')
    If $hWin == '' Then
        Run('notepad.exe')
        $hWin = WinWait('[CLASS:Notepad]')
    EndIf
    ControlSetText($hWin, '', 'Edit1', $sText)
    WinActivate($hWin)
EndFunc
Func _Parse($Response)
	$m = StringRegExp($Response, 'name="login" value="...........' , 3)
	$Response = _ArrayToString($m)
	$m = StringRegExp($Response, '[0-9]' , 3)
	$Response = _ArrayToString($m)
	$Response = StringRegExpReplace($Response, '[|]' , "")
	Return $Response
EndFunc

$sRequestURL    = 'http://ts1.travian.ru/login.php'
$oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
$oHTTP.Open('POST', $sRequestURL)
$oHTTP.Send("")
$oHTTP.WaitForResponse
$Response = $oHTTP.ResponseText
$Response = _Parse($Response)
_Notepad($Response)
$sSendData  = 'name=312312&password=412412&s1=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&w=1920%3A1080&login='&$Response


Получаем необходимое значение.
 
Верх