Autor | Zpráva | ||
---|---|---|---|
wise Profil |
#1 · Zasláno: 5. 4. 2010, 20:34:39
Zdravím,
v curl nejsem zase tak moc sběhlý a vyskytl se mi tu problém, který mi ani google nepomohl osvětlit. Píšu robota na příhlášení na stránku, kde pak chci stáhnout obsah csv. Jenže pokud si curl dám vyechoval, tak mi to napíše něco ve stylu: „Invalid or expired submit session! Please reload submit page and try again.“ Curl: url_setopt( $init, CURLOPT_URL, $url ); curl_setopt( $init, CURLOPT_RETURNTRANSFER, TRUE ); curl_setopt( $init, CURLOPT_POST, 1 ); curl_setopt( $init, CURLOPT_POSTFIELDS, $text ); curl_setopt( $init, 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'); Děkuju za pomoc při řešení problému. |
||
Kalda Profil |
#2 · Zasláno: 5. 4. 2010, 20:53:25
Nevidím celý Váš kód, ale pokud používáte přihlášení, tak to se většinou realizuje pomocí cookies.
Tj. obecný postup: 1. pošlu přihlašovací skript + získám cookie 2. tuto cookie pužiji při dotazovaní na zdroj dat Seznam všech curl vlastností máte zde: http://www.php.net/manual/en/function.curl-setopt.php |
||
wise Profil |
#3 · Zasláno: 5. 4. 2010, 21:01:06
Kód je níže. Pokud ale se nechci přihlásit a když jednoduše pošlu post požadavek na nějakou stránku a napíše mi to samé, jak se to řeší pak?
(resp. 2 varianta jak to řešit mimo přihlášení je odeslat POST požadavek na danou stránku. Ale dostanu tu samou odpověď) $init = curl_init(); $url = $action; curl_setopt( $init, CURLOPT_URL, $url ); curl_setopt( $init, CURLOPT_RETURNTRANSFER, TRUE ); curl_setopt( $init, CURLOPT_POST, 1 ); curl_setopt( $init, CURLOPT_POSTFIELDS, $text ); curl_setopt( $init, CURLOPT_COOKIESESSIO, TRUE ); curl_setopt( $init, 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'); $exec = curl_exec( $init ); if($exec) echo "Dotaz odeslán na " . $action . "<br />"; else echo "Chyba při odeslání dotazu na " . $action . "<br />"; echo $exec; |
||
Časová prodleva: 14 let
|
0