Autor Zpráva
wise
Profil
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
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
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;

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