Autor | Zpráva | ||
---|---|---|---|
Pop Profil * |
#1 · Zasláno: 18. 8. 2012, 23:08:14
Zdravím Vás.
Chtěl bych se naučit cURL, ale anglické tutoriály nejsou moje silná stránka a českých jsem moc nenašel. Tak se učím zkoušením různých okomentovaných skriptů. Teď se chci zkusit přihlásit na stránku a tam aby přešla na odkaz, ale jako přihlášená. Přes Tamper Data jsem si zjistil jaké POST se mimo emailu a hesla posílají. Přišel jsem na POST send, který musí být "Přihlásit". Zkouším skript nalezený zde v diskusi (danému uživateli fungoval). <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_COOKIEJAR, "/test.txt"); // Tady nastavím, kde se bude cookies ukládat curl_setopt($ch, CURLOPT_URL,"http://memfun.com/signin"); // adresa formuláře curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "username=xxx@xxx.cz&password=xxx&send=P%C5%99ihl%C3%A1sit"); // Přihlásím se přes post echo curl_exec ($ch); // Tohle funguje. Zobrazí se mi stránka, která by se zobrazila pro přihlášeného uživatele ?> Předem Vám děkuji, Pop. |
||
Pop Profil * |
#2 · Zasláno: 19. 8. 2012, 02:07:28 · Upravil/a: Moderátor (editace znemožněna) 19. 8. 2012, 13:50:06
Hm .. Koukám, že jsem zapomněl dát pryč ten poslední komentář. Na ten prosím neberte ohled :)
Moderátor panther: Odmazáno přebytečné trojemko z „hm“.
|
||
Keeehi Profil |
#3 · Zasláno: 19. 8. 2012, 13:05:10
Zkuse to takto:
$ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__."/test.txt"); // Tady nastavím, kde se bude cookies ukládat curl_setopt($ch, CURLOPT_URL,"http://memfun.com/signin"); // adresa formuláře curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array("username"=>"xxx@xxx.cz","password"=>"xxx","send"=>"Přihlásit")); echo curl_exec ($ch); Pokud to nepomůže, nevyžaduje stránka třeba ještě něco? Jako je třeba referer nebo user_agent? |
||
Pop Profil * |
#4 · Zasláno: 19. 8. 2012, 13:29:23
Tak bohužel nefunguje ani takto.
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); curl_setopt($ch, CURLOPT_COOKIEJAR, "/test.txt"); // Tady nastavím, kde se bude cookies ukládat curl_setopt($ch, CURLOPT_URL,"http://xx.com/signin"); // adresa formuláře curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array("username"=>"xx@xx.com","password"=>"xx","send"=>"Přihlásit")); // Přihlásím se přes post echo curl_exec ($ch); // Tohle nefunguje. Zobrazí se mi stránka, která by se zobrazila pro nepřihlášeného uživatele ?> A navíc se mi přestalo načítat CSS, což by mi až tak nevadilo, kdyby se to přihlásilo. Do souboru s COOKIES se mi uložilo pod názvem web. stránky FALSE / FALSE a PHPSESSID , na druhý řádek prohlížeč. |
||
Keeehi Profil |
#5 · Zasláno: 19. 8. 2012, 13:48:26
Když už, tak referer by měla být adresa přihlašovacího formuláře, tedy
http://memfun.com/signin .
Přihlašovací adresa, kam by měl požadavek směřovat by měla být http://memfun.com/signin?do=signIn-submit . To do vypadá docela důležitě a neřekl bych, že je možné ho vynechat. To spíš nebude potřeba ten referer.
|
||
Pop Profil * |
#6 · Zasláno: 19. 8. 2012, 14:08:33
To zní dost logicky :). Už to funguje, jen jsem místo test.txt musel použít cookie.txt. Pak už to fungovalo. No nic, jdu zkoušet další přihlašovací formuláře, ať si to opakuji a třeba už to jednou budu umět levou zadní.
Děkuji Keeehi. |
||
Keeehi Profil |
#7 · Zasláno: 19. 8. 2012, 14:14:08
Pop:
Osobně, když se někam snažím přihlásit, tak si zjistím, co všechno prohlížeč odesílá a to taky odesílám (většinou: post data, get data, referer, cookies, user_agent), a když se mi to podaří, tak ořezávám a zjišťuji, co není potřeba. Pokud chcete něco těžšího, zkuste se přihlásit do emailu na seznam. |
||
Pop Profil * |
#8 · Zasláno: 19. 8. 2012, 14:25:30
To zní pěkně, to určitě zkusím :).
Děkuji |
||
Časová prodleva: 13 let
|
0