Mam pytanie.
Mam taki kodzik:
<? $cookie_file = 'cookie.txt'; $c = curl_init('http://panel.gamesol.pl/system/'); curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($c, CURLOPT_URL, 'http://panel.gamesol.pl'); curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0"); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_POSTFIELDS, 'username=USER&password=PASS'); curl_setopt($c, CURLOPT_RETURNTRANSFER, 0); curl_getinfo($c); $s = curl_exec($c); curl_close($c); ?>
Działa, ale nie do końca tak jakbym chciał. Chciałbym, aby się zalogował sam - a on tylko mi wypełnia pola loginu i hasła. Potem, jak już się zaloguje (to opcjonalnie) chciałbym, aby przycisnął przycisk objęty w tym kodzie:
<div class="gameControlIcons" id="gameControlIcons1200"> <img src="http://panel.gamesol.pl/template/fresh/images/icons/icon_restart.gif" width="24" height="24" title="Restartuj Serwer | 94.23.94.146:27079" onmouseover="window.status='Restartuj Serwer | 94.23.94.146:27079';" onmouseout="window.status='';" class="pointer" alt="Restartuj Serwer | 94.23.94.146:27079" onclick="controlGame('restart', '1200');"/> </div>
Wiem, że to skomplikowane. Wystarczałoby to pierwsze, ale z drugiego też bym się ucieszył.
Pozdrawiam.
OK, poradziłem sobie. Ale teraz mi pisze, że nie wypełniłem wymaganych pól. Jak dam:
curl_setopt($c, CURLOPT_POSTFIELDS, 'user=blabla&pass=blabla&sublogin=Login');
Jest prawie dobrze, tylko że jest biala strona. A jak zamiast user i pass dam username i password, pisze, że nie wypełniłem wymaganych pól. Tak więc pomoże ktoś?
edit:
Teraz jest trochę lepiej, bo jak dodałem
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
To pokazuje mi się strona po zalogowaniu, ale coś jest nie tak. Jakby cookies nie chciało się zrobić albo sesji pobrać. Mianowicie nie mogę nic zrobić, gdy wybiorę coś z menu to pisze "Błąd: nie jesteś zalogowany". Jakieś pomysły?