![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 8.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Czy ktos z forumowiczow walkowal ten temat? Potrzebuje stworzyc na wlasne potrzebny taki automato do logowania sie i pobierania wyciagu z danego okresu celem dalszej obrobki. Napisalem kawalek kodu, ale za cholere nie chce dzialac. kiedys pisalem do pkointeligo i dzialalo bez problemu, do mbanku dobrac sie nie moge :-(
mam takie cus. Mysle, ze strony obrobilem wszystkie dane, nie wiem co z info z ciastkami. Czy jest jakis sposob zeby przesledzic dokladniej, co i jak po kolei? Kod <?php
function pobierz_zaw($url) { $czytaj = curl_init(); curl_setopt ($czytaj, CURLOPT_URL, $url); curl_setopt ($czytaj, CURLOPT_HEADER, false); curl_setopt($czytaj, CURLOPT_SSL_VERIFYPEER, false); //SSL curl_setopt($czytaj, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies1.txt'); curl_setopt($czytaj, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies2.txt'); ob_start(); curl_exec ($czytaj); curl_close ($czytaj); $file = ob_get_contents(); //print $file; ob_end_clean(); return $file; } function formularz_logowanie($url,$nsid, $nstate, $nvalid, $akt_data) { $czytaj = curl_init(); $curlPost = array(); $curlPost['customer'] = ' '; $curlPost['password'] = ' '; $curlPost['__EVENTVALIDATION'] = $nvalid; $curlPost['seed'] = $nsid; $curlPost['localDT'] = $akt_data; $curlPost['__PARAMETERS'] = ''; $curlPost['sCounter'] = '0'; $curlPost['__STATE'] = $nstate; $curlPost['__VIEWSTATE'] = ''; $curlPost['menu'] = 'true'; $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0"; curl_setopt ($czytaj, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($czytaj, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($czytaj, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($czytaj, CURLOPT_POST, 1); curl_setopt($czytaj, CURLOPT_FAILONERROR, true); curl_setopt($czytaj, CURLOPT_POSTFIELDS, $curlPost); curl_setopt($czytaj, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($czytaj, CURLOPT_USERAGENT, $user_agent); curl_setopt ($czytaj, CURLOPT_URL, $url); curl_setopt($czytaj, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies1.txt'); curl_setopt($czytaj, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies2.txt'); ob_start(); $data = curl_exec ($czytaj); curl_close ($czytaj); $file = ob_get_contents(); ob_end_clean(); print $data; return $file; } $url='https://www.mbank.com.pl/'; $logowanie = pobierz_zaw($url); preg_match("/name=\"seed\" id=\"seed\" value=\"(.*?)\" \/>/", $logowanie, $sid); $nsid = $sid[1]; preg_match("/name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\" value=\"(.*?)\" \/>/", $logowanie, $valid); $nvalid = $valid[1]; preg_match("/name=\"__STATE\" id=\"__STATE\" value=\"(.*?)\" \/>/", $logowanie, $state); $nstate = $state[1]; $akt_data = date("Y-m-d H:i"); $zalogowany = formularz_logowanie($url,$nsid, $nstate, $nvalid, $akt_data); print $zalogowany; ?> Ten post edytował Spoky 13.07.2008, 16:13:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 8.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
specjalnie przekleilem http headers :-)
Kod pierwsze laczenie <span class="postcolor">https://www.mbank.com.pl/ GET / HTTP/1.1 Host: www.mbank.com.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive <font color="#ff0000"> <font face="Arial Black">Cookie: mb-logout=3; mBankLang1140=P; mBank1=TEMP42028753652D9D994A72541F7F8CF80F; wnd=notset;</font> mBank2=OBMeE6x29_vxJ1BCmz7ufw==</font> HTTP/1.x 200 OK Cache-Control: pre-check=0 Keep-Alive: timeout=3, max=993 Pragma: no-cache Content-Length: 15978 Content-Type: text/html; charset=iso-8859-2 Expires: Mon, 26 Jul 1997 05:00:00 GMT X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 <font color="#ff0000">Set-Cookie: mBank1=TEMP5D6E0DEF64096A386CF0542E3AB065DA; path=/; secure Set-Cookie: mBankLang1140=P; expires=Sat, 09-Apr-2011 18:40:24 GMT; path=/</font> Server: mBank Web Server Date: Sun, 13 Jul 2008 18:40:24 GMT</span> Tak wlasnie wyglada zaladowanie strony logowania przez przegladarke. Set-Cookie: zmienne zdaja sie byc zapisywane w cookie - mbank1 oraz mBankLang - curl zapisuje. Podsumowujac: najpierw w skrypcie lacze sie, pobieram ciacho, parsuje zmienne z formularz, ktore sa generowane (te pola ukryte w formularzu) potem przekazuje te zmienne postem i jednoczesnie odsylam ciacho poleceniem Kod curl_setopt($czytaj, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt'); I do tego miejsca powinno byc ok, dlaczego wiec wciaz mam alarm bezpieczenstwa? Co widac w kodzie tego errora - moze to nic, a moze jednak cos - nazwa stylu, wiele mowiaca Kod <table cellspacing="0" cellpadding="0" border="0" align="center" style="width: 70%; border-collapse: collapse;" <font color="#ff0000">class="messageNoSession"></font> <caption class="error"> Błąd systemu </caption><tbody><tr> Heh, ciezko tam dojsc :-) Normalnie forteca ;-) No chyba ze blad pojawia sie w momencie, gdy powinny byc zapisane kolejne ciacha i kolejne odeslane. (tuz po zalogowaniu) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 03:42 |