ďťż
Podstrony
|
telcocafeWitamMam taki kod do logowania się na stronę: <meta name="test" http-equiv="content-type" content="text/html; charset=utf-8"/> <?php $cookie_file = 'cookie.txt'; echo 'Start...'; if($numer.$haslo) { $c = curl_init('http://www.heyahklub.pl/hk/portal/?sn=HEYAH.PORTAL'); curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($c, CURLOPT_URL, 'http://sso.era.pl/sso/authserver/server'); 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, 'request=login1&rid=TUMOSZEPOBRACKOD&sso-server=authserver&user=48'.$numer.' &password='.$haslo.'&x=25&y=6'); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_getinfo($c); $s = curl_exec($c); curl_close($c); echo $s; //wyświetla stronę } echo 'Koniec'; unlink ('cookie.txt'); //kasuje plik z cookie ?> I niestety trzeba pobrać Referer z poprzedniej strony (po to, aby przesłać zmienną rid do późniejszego post'owania celem zalogowania). Tylko jak to zrobić? Próbowałem kodem: curl_setopt($c, CURLOPT_REFERER, $referer); jednak on chyba przypisuje referer, a nie czyta później (np. za pomocą echo $referer). Więc trzeba wyświetlić referer i wyciąć rid, który właśnie znajduje się w nim... Sniffując LIVE HTTP headers otrzymuję taki kod: http://sso.era.pl/sso/authserver/server POST /sso/authserver/server HTTP/1.1 Host: sso.era.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 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 Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: [url="http://sso.era.pl/sso/authserver/server?request=login1&rid=23BED078E493DA4D&sso-server=authserver" ]http://sso.era.pl/sso/authserver/server?re...rver=authserver[/url] Cookie: sso_credentials=tgt=B876C1CE728C5BB063434AE18CE8F5482DBC0F93D07C2F2EB37B87C96FF3C930DCEA58D05AB4976D9D607735468744423E00067BF7B550D4806B4D76D18AAA044E87776385AB1F94743FF9BA7D10D8203F88574D443DEBB0B88D70F417DC2D5497C078D6CDEB42F3E08E485DDD6FD9913C1A4D9B1DF34285A3456BF9B41947C291D7934078C3FE91788A2B48907F82BAC44594AB161F71BBCE3820B350DBB42A73F21B5391EA6CA8F9CC8ABA2CBB1AA71D8518AAC7A493CDF9F4D9F0A23675A43FB875ADCC6C6DE6EDC64BB68364C62C3A96079DFEEA7BA25B6E5BACA2DB110CF20C474A2640D0EE325DC35457A3A3688B15EB9E37FBAD1699D58375409CBC49& uid=48NUMER&sso-server=authserver Content-Type: application/x-www-form-urlencoded Content-Length: 101 request=login1&rid=23BED078E493DA4D&sso-server=authserver&user=48NUMER&password=HASLO& x=23&y=8 HTTP/1.x 302 Moved Temporarily Date: Fri, 28 Nov 2008 17:32:41 GMT Server: Apache Location: [url="http://www.heyahklub.pl/hk/portal/login?sso_credentials=39VfskFWpgYi9pd4Qp5ocljx0KUy-8PjEu8in8PvLpwJCQPXHtPeQkPPsCIY- Hs1dZ!etQWPV!OoKXAlkJhr1MeRscSJbxFv6X0SqX8uYYvSGjiLZXzC315YTkoHw939oVf!rcuc9koHHmCSzaLRv3R- JYJeA4T-8J3LMGoCp7elnbmXJ3G0Lq6BAOan6iHlfRRZjDGCUQByBtM3g9NmhQIOgh9uIWSSiLDkn75TLzvf82LXtRGE2TuRGQ5Jyw6PYlttHIfkwpi5DajE7SPurzrMxkUlZA8Au- 2KuZqbtZjnbCxlHtFSLL0FAk!onravwUsnorKfj-S7HDvXjTbYxQ-JVSks4V3S&rid=23BED078E493DA4D&sso-server=authserver" ]http://www.heyahklub.pl/hk/portal/login?ss...rver=authserver[/url] Expires: -1 Set-Cookie: sso_credentials=tgt=5B33C8B49B7E29B010E9BF55B8BFA0FC891292A887C6816BFB9E23B578717E3E7A3B6AC79A83F231319F2F0DCF20D4ABFBDDE509D3D4BA6B532DFB4D7F595B69A35B436A6E1F508F8B3B580E40CB6066A5D262FAC80BC4B080838637EAB8AC5E9719AAD8ACBF1274E95EF9FCC66F924AEEE83932ACAD148D756C8D64A728AF9A03B64C550FFD8B0725ADB02B65B711F04D6A5D11CEC46773476A7A35CFBB6C4A102D17AD76A91CB1B709F55A08194B8889B6BEF45528BEB257CAB757367FA9AEC9BD6B1E7006859981193BF322F4AF5E12ADE5E68C6A2BB1D1CE9EAD0C3FC6D4683C4183CCB67EF2C16BA9B94621036856CD31E4C8155CA70282B399103CDF14& uid=48NUMER&sso-server=authserver Cache-Control: no-store, no-cache, must-revalidate Keep-Alive: timeout=2, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=ISO-8859-2 Content-Language: pl Proszę o pomoc... Jeżeli dobrze zrozumiałem o co Ci chodzi: curl_setopt($c, CURLOPT_HEADER, true); Wtedy zostaną zwrócone(w zmiennej $s) wszystkie nagłówki HTTP i spokojnie odczytasz referera. Użytkownik kiperoman edytował ten post 30 listopad 2008, 10:26 |
|||
Sitedesign by AltusUmbrae. |