Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]skrypt automatyzujacy gre internetowa w curl
Forum PHP.pl > Forum > Przedszkole
michat34
witam, zaczalem czytac o curl zeby napisac skrypt ktory od czasu do czasu wchodzilby na moje konto w grze i wykonywał tam jakies akcje. doszedlem teraz do rozdzialu o formularzach i zastanawia mnie
jest taki skrypt:

  1. <?php
  2. function createPostString($aPostFields) {
  3. foreach ($aPostFields as $key => $value) {
  4. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  5. }
  6. return implode('&', $aPostFields);
  7. }
  8. ?>
  9.  
  10. <?php
  11. $postFields[login'] = 'adam';
  12. $postFields['haslo'] = '123456';
  13. $ch = curl_init('http://gra.pl/logowanie.php');
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  15. curl_exec($ch);
  16. curl_close($ch);
  17. ?>


rozumiem ze on wejdzie na strone podana w curl_init po czym wprowadzi do formularzy te dane.. tylko jeszcze jedno. skad wie do jakich formullarzy wprowadzic dane? czy nazwy formularzy musza byc podane w nawiasach kwadratowych w $postFields? i musza sie zgadzac z name ofrmularza ktory moge podpatrzec w zrodle? i dwa, w jaki sposob mam 'kliknac submita'? wyslac $postFields['submit'] (zamiast submit name submita?
d3ut3r
Coś słabo czytałeś o tym CURL tongue.gif curl nie wchodzi na stronę on wysyła żądania i odbiera odpowiedzi to z punktu widzenia logiki zasadnicza różnica. kod który podałeś po prostu wyśle za pomocą metody POST dane:

login=adam&haslo=123456

muszą się zgadzać nazwy pól tzn, musisz wysłać dokładnie te same dane które byś wysłał ręcznie. Zainstaluj sobie jakiś dodatek do przeglądarki który będzie Ci pokazywał co wysyłasz i gdzie (firebug itp.)
michat34
Cytat(d3ut3r @ 2.11.2012, 09:58:54 ) *
login=adam&haslo=123456

muszą się zgadzać nazwy pól tzn, musisz wysłać dokładnie te same dane które byś wysłał ręcznie. Zainstaluj sobie jakiś dodatek do przeglądarki który będzie Ci pokazywał co wysyłasz i gdzie (firebug itp.)


czyli dla takiego htmlu:

<input type="text" name="login">
<input type="password" name="haslo">
<input type="submit" name="loguj" value="Zaloguj">

zadanie wygladałoby tak?

login=adam&haslo=123456

curl automatycznie wysyła te dane i zwraca mi wynik?
d3ut3r
możesz też przesłać tak:

login=adam&haslo=123456&loguj=Zaloguj

wówczas wysyłasz też wartość submita, niektóre skrypty mogą to sprawdzać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.