Autor Zpráva
_dot_
Profil *
Nacteni kodu cizich stranek po prihlaseni na nich
_dot_
Profil *
Několik hodin googlení a pracování, ale bohužel ke správnému výsledku jsem se nedostal ...

Kód by měl udělat to, že se na stránkách přihlásí, a vrátí mi html kód stránek po přihlášení. Později to chci udělat univerzálně, nyní jsem zvolil například server ******.

Problém je, že ani do první části kódu se nedostanou proměnné přes POST.



Prosim o radu, zejmena tedy s prvni casti, proc nedojde k prenosu promennych POSTEM. Nevypise totiz ani chybne prihlaseni ..

Predem dekuji
_dot_
Profil *
koukam ze tu je cenzura v plnem proudu ani kod mi to nechce povolit. Ty hvezdicky za server jsou server u l o z t o
_dot_
Profil *
Zde je kód:
$url = parse_url('http://www.u l o z . t o/nastaveni/?do=authForm-submit');
$url['query']=isset($url['query'])?$url['query']:'';

$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($url['query'])."\r\n",
'content' => http_build_query(array(
'username' => 'uzivatelske_jmeno',
'password' => 'heslo',
'login' => 'Přihlásit')
)
)
));



$fp = fopen("http://www.u l o z . t o/nastaveni/?do=authForm-submit", "r",0, $context);
// Zde se vypise stranka po prihlaseni pro vziti PHPSESSID v tomto pripade ULOZTOSESSID. Bohuzel se tak nestane.
$meta_data = stream_get_meta_data($fp); 

fclose($fp);

// narychlo udelane prevzeti SESSID provizorne

$st1=explode('ULOZTOSESSID=',$meta_data["wrapper_data"][3]);
$st2=explode('; ',$st1[1]);


$SSID=$st2[0];

$url = parse_url('http://www.u l o z . t o/nastaveni/');
$url['query']=isset($url['query'])?$url['query']:'';

// Zde by melo dojit k vypsani stranky s novym ULOZTOSESSID, kdyz vsak nedoslo v predchozim kroku k prihlaseni, tak jsou stranky samozrejme stejne.

$context1 = stream_context_create(array(
'http' => array(
'method' => "POST",
'header' => "Cookie: ULOZTOSESSID=".$SSID."\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($url['query'])."\r\n"
)
)); 


echo $vystup = file_get_contents('http://www.u l o z . t o/nastaveni/', false, $context1); 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0