[PHP] Ogame bot - małe pytanie do kodu

0

Witam napisalem sobie juz bota ogame.
Juz mi wszystko dziala jednak probuje dodac jeszcze jedno rzecz a miedzy innymi budowanie statkow i i dzial obronnych jednak zmienila sie jedna rzecz w stosunku do normalnego budowania nie przebywa sie ti za pomoca linkow a jest formularz gdzie sie wysyla id danej rzeczy i ilosc form wyglada tak:

echo('
<form action=index.php?page=buildings&session=95d9a7965c89&mod  e=Verteidigung method=post><table align=top><tr><td style='background-color:transparent;'>  <table width=530>          <tr>
         <td class=l colspan="2">Opis</td>
         <td class=l><b>Ilość</b></td>
         </tr>

         
<tr>                <td class=l>
               <a href=index.php?page=infos&session=95d9a7965c89&gid=401&g  t;
               <img border='0' src="http://s30.ogame.onet.pl/evolution/gebaeude/401.gif" align='top' width='120' height='120'>
               </a>
               </td>
       <td class=l><a href=index.php?page=infos&session=95d9a7965c89&gid=401&g  t;Wyrzutnia rakiet</a></a> (wybudowano 5)<br>Wyrzutnia rakiet to prosta i korzystna cenowo możliwość obrony.<br>Wymagania: Metal: <b>2.000</b><br>Czas ukończenia: 24min. <br></th><td class=k ><input type=text name='fmenge[401]' alt='Wyrzutnia rakiet' size=6 maxlength=6 value=0 tabindex=1> </td></tr><td class=c colspan=2 align=center><input type=submit value="Buduj">
'); 

I mam taki kod ktory powinien budowac w obrona/stocznia:

<?php
function obrona($id, $strona, $referer) {

$obrona = lacz($strona, $referer);

if(strstr($obrona, '<input type=submit value="Buduj">')) {
echo('znalazlo');

$przegladarka = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/2008020121 Firefox/2.0.0.12';

$naglowki = array('Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,t  ext/plain;q=0.8,image/png,*/*;q=0.5',
'Accept-Language: pl,en-us;q=0.7,en;q=0.3',
'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7');

$post = array('fmenge[401]' => '1');

$link = curl_init($strona);
curl_setopt($link, CURLOPT_COOKIE, pobierz_cookie('./cookie/cookie.txt'));
curl_setopt($link, CURLOPT_POST, 1);
curl_setopt($link, CURLOPT_POSTFIELDS, 'fmenge['.$id.']=1');
curl_setopt($link, CURLOPT_USERAGENT, $przegladarka);
curl_setopt($link, CURLOPT_HTTPHEADER, $naglowki);
curl_setopt($link, CURLOPT_REFERER, $referer);
curl_setopt($link, CURLOPT_RETURNTRANSFER, 1);
curl_exec($link);
curl_close($link);
return true;
 }
return false;
}
?>

Pierwsze polaczenie ze strona dziala jednak nie buduje to co mi zwraca live http headers gdy buduje recznie:

fmenge%5B401%5D=1

A tak wywoluje funkcje:

obrona('401', 'http://s'.$unia[4].'.ogame.onet.pl/game/index.php?page=building  s&session='.$_SESSION['sesja_ogame'].'&mode=Verteidigung  ', 'http://s'.$unia[4].'.ogame.onet.pl/game/index.php?page=overview  &session='.$_SESSION['sesja_ogame'].'&mode=Verteidigung'  );

I nic budowanie i badanie mi dziala wystarczy chodzic po linkach tutaj trzeba wyslac id do budowania i ilosc ogolnie nie buduje nie wiem dlaczego logowanie mi dziala :(

0

tak tylko ostrzegam że o ile się nie mylę to boty do ogame są zabronione w jej licencji czy jakoś tak =)
a... uwzględniłeś że formularz jest ustawiony na POST ?
hmm... chyba tak =D

0

To to ja tez wiem ale co z tego bot jest tylko dla mnie nie dla noobkw robie go zeby nauczyc sie cURL'a i przy okazji bede z niego korzystal

P.S ogolnie jak nie wiesz jak pomoc nie pisz zbednych komenatrzy po co??

P.S2 zreszta jak maja takie slabe zabezpieczenia to nie moja wina

0

Patrząc na kod to coś czuje, że szybko bana dostaniesz :/

0

Bana gdzie na ogame zreszta czym wy sie martwicie moja sprawa i tak w ogame nie gram tylko ucze sie cURL a kolega napisal bota w DELPHI i C wiec pisze wersje w PHP to jest tylko kawalek kodu zadnego bana nie bede mial moze zamiast komentawac ktos pomoze reszta jest dobrze przemyslana :)

P.S dziekuje moderatorowi za odtworzenie tematu :)

0

Daj ten z ogema co jest w stronach budowania, ja niestety nie gram a nie będe się specjalnie rejestrował, tylko dlatego aby tobie pomóc.

0

Strona budowania calkiem inaczej dziala jezeli nie chce ci sie zakladac konta dm ci moje na ktorym testuje konto
Login: marcio15
Pass: tester1234
Universum: 30

po prostu przy budowaniu/badania sa linki a przy stoczni/obronnie sa formy jednak logowanie mi dziala wiec nie rozumiem co robie zle mam nadzieje ze pomozesz :)

0

mam nadzieje, że trafie na co chcesz, bo nigdy nie grałem w ogame, może wciągnął mnie trochę darkpirates, ale tam używanie konta przez dwie osoby było tez zabronione ;)

0

No to co z tego mowie ogame w porownaniu do plemiom na g*wnianie zabepieczenia nie martw sie nie zalezy mi na tym koncie czekam na jakie kolwiek odpowiedzi :)

0

Wysyłasz wszystko pod adres z formularza z parametrem post fmenge[401]=ilość_wyrzutni , nie widze aby tutaj były jakieś inne kruczki, no może paramtry w adresie, które lecą getem. Nie widze też, różnych dziwnych js, które mogłyby mieszać.

0

Hmm jak na razie ide ksiazki sprzedac jak wroce podam tez funckje lacz() i pokombinuje jeszcze bo z tego co mowisz to wszystko dobrze robie :) i mi sie tez tak zdaje

0

Hmm, a może chodzi o referer, zobacz jakie nagłówki zwraca przeglądarka

0

Wątpie aby sprawdzali to referer, u mnie wyżyna go firewall(w domu) z resztą nie tylko i to, a jednak wierzyczke wybudowałem.

0

a jednak wierzyczke wybudowałem.

Dziala ci??

0

Witam ponownie to jak @mephir wiesz moze co moze byc przyczyna?

0

Trzeba wysłać tamten formularz

0

Nom ale przeciez wysylam powiedziales ze ci dziala wiec co robie zle??

Mozesz rozwinac twoje odpowiedzi?

0

Działal mi klik fizyczny, bo to było do posta wyżej, jak ktos proponował referera, to powiedziałem, że on tego nie birze pod uwagę, bo u mnie firewall wycina te nagłówki.

0

Aha a ogolnie nie wiesz co moze byc przyczyna patrz taka mam funckje logowania:

<?php
function loguj($adres, $log, $password, $universum) {

$przegladarka='Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/2008020121 Firefox/2.0.0.12';


$link = curl_init($adres);

$post = array('v' => '2', 'universe' => 's'.$universum.'.ogame.onet.pl', 'login' => $log, 'pass' => $password, 'button.x' => '0', 'button.y' => '0');

curl_setopt($link, CURLOPT_POST, 1);

curl_setopt($link, CURLOPT_POSTFIELDS, koduj($post));

curl_setopt($link, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie/cookie.txt'); 
curl_setopt($link, CURLOPT_REFERER, 'http://www.ogame.onet.pl/');
curl_setopt($link, CURLOPT_USERAGENT, $przegladarka);
curl_setopt($link, CURLOPT_RETURNTRANSFER, 1);

$wynik = curl_exec($link);

curl_close($link);

return $wynik;
}
?>

I to mi dziala nie rozumiem dlaczego nie dziala mi tamta funckja L*

0

Co podajesz jako adres bo tam masz też parametry przesyłane get'em.

0

Chodzi o ta funckje ktora podalem w 1 poscie reszta dziala logowanie tez a dane dobrze przesylama dobrze daje referer i strone do polaczenia post'a tez wysylac ale czemu nie buduje?

1 użytkowników online, w tym zalogowanych: 0, gości: 1