Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

WinHTTP naciśnięcie przycisku


Rekomendowane odpowiedzi

Opublikowano

Cześć,

 

mam problem odnośnie naciśnięcia odpowiedniego przycisku w grze. Część kodu odpowiedzialna za wydobycie surowców:

 

$zapytanie3 = _WinHttpOpenRequest($connect, "POST", "/cave/gather/" & $a);otwieramy zapytanie
_WinHttpAddRequestHeaders($zapytanie3, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
_WinHttpAddRequestHeaders($zapytanie3, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")
_WinHttpAddRequestHeaders($zapytanie3, "Referer: http://tiwar.pl/cave/speedUp/")
_WinHttpAddRequestHeaders($zapytanie3, "Connection: keep-alive")
_WinHttpAddRequestHeaders($zapytanie3, "Content-Type: application/x-www-form-urlencoded")
_WinHttpSendRequest($zapytanie3)
_WinHttpReceiveResponse($zapytanie3)

 

 

Kod ten działa, że zostaje uruchomiona procedura wydobycia surowców razem z przyśpieszeniem (w przeglądarce jest najpierw przycisk wydobycie, a potem pojawia się następny przycisk z przyśpieszeniem).

Badając przyciski Live'em wyszło:
Dla przycisku wydobycie

 

 

http://tiwar.pl/cave/gather/26739301

GET /cave/gather/26739301 HTTP/1.1
Host: tiwar.pl
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://tiwar.pl/cave/speedUp/
Cookie: PHPSESSID=6e9c71665e82fbb2c40fd3c9390e7323; login=488045%3A59fa667adef9721e7adf733563d65fb8
Connection: keep-alive

 

 

Dla przycisku przyśpieszenie, co występuje po przycisku wydobycie

 

 

http://tiwar.pl/cave/gather/67870014

GET /cave/gather/67870014 HTTP/1.1
Host: tiwar.pl
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://tiwar.pl/cave/speedUp/
Cookie: PHPSESSID=6e9c71665e82fbb2c40fd3c9390e7323; login=488045%3A59fa667adef9721e7adf733563d65fb8
Connection: keep-alive

 


A tutaj logowanie do gry:

 

$handlewinhttp =_WinHttpOpen ("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0")
$connect = _WinHttpConnect($handlewinhttp, "tiwar.pl")
$zapytanie1 = _WinHttpOpenRequest($connect, "POST", "/")
_WinHttpAddRequestHeaders($zapytanie1, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
_WinHttpAddRequestHeaders($zapytanie1, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")
_WinHttpAddRequestHeaders($zapytanie1, "Referer: http://tiwar.pl/?sign_in=1")
_WinHttpAddRequestHeaders($zapytanie1, "Connection: keep-alive")
_WinHttpAddRequestHeaders($zapytanie1, "Content-Type: application/x-www-form-urlencoded")
_WinHttpSendRequest($zapytanie1, Default, "login=jumper&pass=jumper")
_WinHttpReceiveResponse($zapytanie1)

 


Czy ktoś wie jak podpowiedzieć serwerowi, żeby "nacisnął" przycisk wydobycie ?

Opublikowano
/cave/gather/67870014

To jest rozpoczecie.

/cave/speedUp/

To jest przyspieszenie

Na 5 do roboty ale co tam..

10 minut zajelo ale chyba wszystko dziala.

Global $hw_open = _WinHttpOpen(''), $sin_token
Global $hw_connect = _WinHttpConnect($hw_open, "tiwar.pl")
$przyspieszenie = 1
login('jumper','jumper')

func login($login,$password)
   GETrequest('?sign_in=1')
   $data = POSTrequest('/','login='&$login&'&pass=' & $password)
   If StringInStr($data,'Koloseum') Then
	  ConsoleWrite('Zalogowano')
  wydobycie()
Else
   ConsoleWrite('Bledne passy')
   EndIf
EndFunc

func wydobycie()
    $data = GETrequest('/cave')
	$token = _StringBetween($data,"<div class='block_zero center'><a class='btn' href='","'")
	If IsArray($token) Then
	If StringInStr($token[0],'cave/gather') Then
	$data = GETrequest($token[0])
 Else
	If $przyspieszenie = 1 Then
	   	$data = GETrequest($token[0])
	   EndIf
	EndIf
 Else
	ConsoleWrite('Problem z pobraniem tokenu')
	EndIf
   EndFunc
Func GETrequest($link, $hw_connect = $hw_connect)
	$h_openrequest = _WinHttpOpenRequest($hw_connect, "GET", $link)
	_WinHttpAddRequestHeaders($h_openrequest, "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0")
	_WinHttpAddRequestHeaders($h_openrequest, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")
	_WinHttpAddRequestHeaders($h_openrequest, "Content-Type: application/x-www-form-urlencoded; charset=UTF-8")
		_WinHttpAddRequestHeaders($h_openrequest, "Connection: keep-alive")
	_WinHttpSendRequest($h_openrequest)
	_WinHttpReceiveResponse($h_openrequest)
	$data = ""
	Do
		$data &= _WinHttpReadData($h_openrequest)
	Until @
	$sHeader = _WinHttpQueryHeaders($h_openrequest)
	Return $data
EndFunc   ;==>GETrequest

Func POSTrequest($link, $data,$hw_connect = $hw_connect)
	$h_openrequest = _WinHttpOpenRequest($hw_connect, "POST", $link)
	_WinHttpAddRequestHeaders($h_openrequest, "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0")
	_WinHttpAddRequestHeaders($h_openrequest, "Accept-Language: pl,en-us;q=0.7,en;q=0.3")
	_WinHttpAddRequestHeaders($h_openrequest, "Content-Type: application/x-www-form-urlencoded; charset=UTF-8")
	_WinHttpAddRequestHeaders($h_openrequest, "Connection: keep-alive")
	_WinHttpSendRequest($h_openrequest, $WINHTTP_NO_ADDITIONAL_HEADERS, $data)
	_WinHttpReceiveResponse($h_openrequest)
	$data = ""
	Do
		$data &= _WinHttpReadData($h_openrequest, 0)
	Until @
	Return $data
 EndFunc

 Func _WinHttpReadHTML($hRequest)
	Local $data
	While 1
		$chunk = _WinHttpReadDataBin($hRequest)
		If @ <> 0 Then ExitLoop
		$data = _BinaryConcat($data, $chunk)
	WEnd
	$Content_Type = _WinHttpQueryHeaders($hRequest, $WINHTTP_QUERY_CONTENT_TYPE)
	Select
		Case StringInStr($Content_Type, "charset=UTF-8")
			;//$data = BinaryToString($data, 4)
		Case Else
			;$data = BinaryToString($data)
	EndSelect
	Return $data
EndFunc   ;==>_WinHttpReadHTML
Opublikowano

IZZER4- Twój program działa tak samo jak mój :/ zamiast zwykłego wydobycia, jest wydobycie z przyśpieszeniem.
Właśnie mam problem z tym aby serwer odróżnił zwykłe wydobycie

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...