2011-01-14 10 views
5

Me gustaría realizar una solicitud http y pasar todas las cookies recibidas por la secuencia de comandos actual (en particular sesión de identificación de cookies) a esta solicitud. Entonces me gustaría guardar el resultado en una cadena para una mayor manipulación. ¿Cuál es la mejor manera de hacer esto en PHP?PHP Cómo realizar una solicitud http para pasar cookies y guardar el resultado en una cadena

+0

posible duplicado de [PHP - Enviar galleta con file_get_contents] (http://stackoverflow.com/questions/3431160/php-send-cookie -with-file-get-contents) – Gordon

+0

posible duplicado de [Copia de cookies de la primera respuesta a la siguiente solicitud] (http://stackoverflow.com/questions/4212442/copying-cookies-from-first-response-to-next- solicitud) – Gordon

+0

Gordon - uno más ejemplo y puede convencerme de cerrar esta pregunta;) – agsamek

Respuesta

6

cURL? - es simple y contiene cookies.

Editar 19.1 - Aquí es ejemplo

 
$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 es archivo donde Curl puso cookies enviadas desde el servidor y CURLOPT_COOKIEFILE es el archivo con las cookies para enviar por CURL (estableciéndolo en mismo hará cookies del archivo).

Otra opción son las cookies de lectura manual del resultado (establezca CURLOPT_HEADER en '1' - pondrá el encabezado de resultado en $ salida) y envíe cookies a través de CURLOPT_COOKIE (configúrelo en la lista de cookies en formato 'foo = bar; bar = foo;')

Nota - libcurl debe estar habilitado en php.ini

+0

¿Podría proporcionar aquí algún código fuente que pase las cookies y los parámetros del script currenct y esta biblioteca está disponible en un servidor PHP estándar? – agsamek

+0

ejemplo agregado :-) – SergeS

+0

Gracias - se ve bien, por cierto, ¿es posible hacer esto sin libcurl? – agsamek

Cuestiones relacionadas