Autor | Zpráva | ||
---|---|---|---|
x Profil * |
Stránka se mi načte ale nezaloguje se, nevíte v čem je problém?
<?php $PostData = array(); $PostData['username'] = "**"; // Ve formuláři je <input name="username"> $PostData['password'] = "**"; $PomocnaData=""; foreach ($PostData as $Parametr=>$Hodnota) { $PomocnaData .= "$Parametr=$Hodnota&"; } $PostData = substr($PomocnaData,0,-1); $URL = "http://www.****.cz/index.php?action=login"; // Adresa ve <form action=... $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $URL); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $KodStranky = curl_exec($ch); // Načtení výsledné stránky do proměnné echo $KodStranky; curl_close($ch); // nějaké parsovací funkce tady, kód výsledné stránky je v $KodStranky ?> |
||
tiso Profil |
#2 · Zasláno: 30. 7. 2009, 17:13:51
Chybu nevidím, mohlo by pomôcť ešte pridať:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1); Tá stránka môže mať nejakú ochranu proti strojovému načítaniu (kontrola $_SERVER['HTTP_USER_AGENT'], ...) |
||
Majkl578 Profil |
#3 · Zasláno: 30. 7. 2009, 18:17:40
nebo muze mit skryty overovaci input, popr. kontrolovat odeslani buttonem, kdo vi co se na adrese ****.cz nachazi :)
|
||
x Profil * |
#4 · Zasláno: 30. 7. 2009, 19:14:11
Tak už jsem na to možná přišel. Když si dám do zdrojáku tenhle kod tak mi to vypíše něco takového:
HTTP/1.1 302 Found Server: nginx/0.6.32 Date: Thu, 30 Jul 2009 16:58:10 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive X-Powered-By: PHP/5.2.0-8+etch15 Set-Cookie: server_id=cs13; expires=Sat, 29-Aug-2009 16:58:10 GMT; httponly Location: http://www.***.cz/login.php?sid=73c1a1a6e20e&secret=8dc653911413 Content-Length: 0 ok problém je v tom, že potřebuji nějak vytáhnout tuhle část "http://www.***.cz/login.php?sid=73c1a1a6e20e&secret=8dc653911413" a načíst její obsah do proměnné. To je celé, víte někdo jak na to? |
||
x Profil * |
#5 · Zasláno: 30. 7. 2009, 19:16:56
Jo zapoměl jsem ten kod na vypsání vypadá takto
echo "<pre>", print_r(curl_getinfo($KodStranky), true), "</pre>"; |
||
tiso Profil |
#6 · Zasláno: 30. 7. 2009, 21:27:01
|
||
x Profil * |
#7 · Zasláno: 31. 7. 2009, 21:07:42
„x [#4] - poradil som ti: [#2]“
Já vím to jsem tam měl bylo to v něčem jiném, ale už jsem to vyřešil. Teď mi to píše "Content-Length: 998" takže stránka se načetla v pořádku, pomocí jakého příkazu mám ale ten zdrojový kod zobrazit na echo to nereaguje. Výpis vypadá nějak takto: HTTP/1.1 200 OK Server: nginx/0.6.32 Date: Fri, 31 Jul 2009 19:06:54 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive X-Powered-By: PHP/5.2.0-8+etch15 Set-Cookie: position=4 Content-Length: 998 |
||
Aesir Profil |
#8 · Zasláno: 31. 7. 2009, 22:04:04
x:
„pomocí jakého příkazu mám ale ten zdrojový kod zobrazit na echo to nereaguje. “ Pokud máte nastavený parametr CURLOPT_RETURNTRANSFER, tak funkce curl_exec vrací načtený výstup, popřípadě false při neúspěchu. |
||
Časová prodleva: 15 let
|
0