2011-01-14 13 views
5

Desidero eseguire una richiesta http e passare tutti i cookie ricevuti dallo script corrente (in particolare i cookie di identificazione della sessione) a questa richiesta. Quindi vorrei salvare il risultato in una stringa per ulteriori manipolazioni. Qual è il modo migliore per farlo in PHP?PHP Come eseguire una richiesta http passando i cookie e salvando il risultato in una stringa

+0

possibile duplicato di [PHP - Invia cookie con file_get_contents] (http://stackoverflow.com/questions/3431160/php-send-cookie -with-file-get-contents) – Gordon

+0

possibile duplicare di [Copia dei cookie dalla prima risposta alla richiesta successiva] (http://stackoverflow.com/questions/4212442/copying-cookies-from-first-response-to-next- richiesta) – Gordon

+0

Gordon - uno più simile esempio e potresti convincermi a chiudere questa domanda;) – agsamek

risposta

6

cURL? - è semplice e biscotti supprot.

Modifica 19.1 - Ecco esempio

 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); 
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); 

$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

CURLOPT_COOKIEJAR è il file in cui Curl ha messo i cookie inviati dal server e CURLOPT_COOKIEFILE è il file con i biscotti per l'invio tramite CURL (impostandolo su stesso renderà cookie file).

Un'altra opzione è leggere manualmente i cookie dal risultato (impostare CURLOPT_HEADER su "1" - metterà l'intestazione del risultato su $ output) e inviare i cookie tramite CURLOPT_COOKIE (impostarlo sull'elenco dei cookie in formato "foo = bar; bar = foo;')

Nota - libcurl deve essere abilitato nel file php.ini

+0

Puoi fornire qualche codice sorgente qui che passa i cookie e i parametri dello script currenct e questa libreria è disponibile su un hosting PHP standard? – agsamek

+0

aggiunto esempio :-) – SergeS

+0

Grazie - sembra buono, btw- è possibile farlo senza libcurl? – agsamek

Problemi correlati