| 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: 16 let
|
|||
0