Foros del Web » Programando para Internet » PHP »

Recibir cookies con CURL

Estas en el tema de Recibir cookies con CURL en el foro de PHP en Foros del Web. Buenas, ¿Existe alguna forma de hacer una petición a través de CURL a una página y saber que cookies se están guardando? Estoy leyendo el ...
  #1 (permalink)  
Antiguo 31/05/2010, 02:55
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Recibir cookies con CURL

Buenas,

¿Existe alguna forma de hacer una petición a través de CURL a una página y saber que cookies se están guardando?

Estoy leyendo el aporte pero no lo veo...
http://www.forosdelweb.com/f18/aport...equest-724214/

Gracias de antemano!
  #2 (permalink)  
Antiguo 31/05/2010, 03:06
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Recibir cookies con CURL

Según he leido:
Cita:
Por defecto, libcurl siempre guarda y carga todas las cookies, independientemente si hay cookies de sesión o no.
No obstante pasate por la documentación de las funciones de cUrl aver si te puede ayudar, esta es, Suerte y un saludo


Edito: He seguido leyendo un poco y me encontrado con:
Cita:
CURLOPT_COOKIEFILE Nombre del fichero que contiene datos de las cookies. El fichero de cookies puede estar en formato Netscape, o simplemente tipo HTTP plano dentro de un fichero.
No sé si te servirá
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #3 (permalink)  
Antiguo 31/05/2010, 03:16
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Recibir cookies con CURL

No sé si has trabajado antes con cUrl, pero te pongo un ejemplo tonto para que veas mas o menos un ejemplo y setear las opciones a tu gusto, este ejemplo checka si un server está on u off

Código PHP:
Ver original
  1. public static function checkServer (){
  2.         $domain = parent::$BMUrl;
  3.  
  4.         //init curl            
  5.         $curl=curl_init();
  6.        
  7.         //set curlopt
  8.         curl_setopt($curl,CURLOPT_URL, $domain);
  9.         curl_setopt($curl,CURLOPT_PORT, 443);
  10.         curl_setopt($curl,CURLOPT_NOBODY,true);
  11.         // dont verify ssl-cert
  12.         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  13.         curl_exec($curl);
  14.         $headers=curl_getinfo($curl);
  15.        
  16.         //close curl
  17.         curl_close($curl);
  18.         $str = "";
  19.         foreach($headers AS $k=>$v){
  20.             $str .= strtoupper($k).": ".$v."\r\n";
  21.         }
  22.         $msg=($headers['http_code']>= 200) && ($headers['http_code'] < 300)?"CheckServer::TRUE - Server returned\n\n".$str:"CheckServer::FALSE - Server returned\n\n".$str;
  23.         //returning values and saving a log response
  24.         if (($headers['http_code']>= 200) && ($headers['http_code'] < 300)){
  25.             genMsg(0,$msg, __FILE__, __FUNCTION__, __LINE__);
  26.             return true;
  27.         }
  28.         else if ($headers['http_code'] >= 300){
  29.                 genErrorMsg(1,$msg, __FILE__, __FUNCTION__, __LINE__);
  30.                 return false;
  31.         }
  32.         else{
  33.             genErrorMsg(2,$msg, __FILE__, __FUNCTION__, __LINE__);
  34.             return false;
  35.         }      
  36.     }
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #4 (permalink)  
Antiguo 31/05/2010, 03:41
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Recibir cookies con CURL

Si, he tratado con CURL

Pero no consigo guardar ninguna cookie, el script es el siguiente:

Código PHP:
Ver original
  1. <?php
  2.    
  3. $cookietmp='.';
  4. $target_url = "https://www.bookingh10hotels.com";
  5. //$target_url = "https://www.bookingh10hotels.com/reservasweb/solicitud_presupuesto.asp";
  6.  
  7. $ch = curl_init();
  8. curl_setopt($ch, CURLOPT_URL, $target_url);
  9. curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  10. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
  11. curl_setopt($ch, CURLOPT_FAILONERROR, true);
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  13. curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  15. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  16. curl_setopt($ch, CURLOPT_TIMEOUT, 180);
  17. $html = curl_exec($ch);
  18.  
  19. echo "<pre>";
  20. echo $html;
  21. echo "</pre>";
  22. ?>
  #5 (permalink)  
Antiguo 31/05/2010, 03:57
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Recibir cookies con CURL

A ver, creo que donde pones el archivo cookie.txt deberías llamar a la ruta absoluta por si acaso

Ami me devuelve:

Cita:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.bookingh10hotels.com FALSE / FALSE 0 ASPSESSIONIDSSDSQSBR AFPJAJABMLCJNDMDKDCFHOPL
www.bookingh10hotels.com FALSE / FALSE 0 ASPSESSIONIDSQARQSBR HNCHMDMBDDAHMGHKJFANDFOH
www.bookingh10hotels.com FALSE /reservasweb FALSE 0 Reservante Idioma=ES
Y otra cosilla si no necesitas ver la página pon la opción de
Código PHP:
Ver original
  1. curl_setopt($curl,CURLOPT_NOBODY,true);
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #6 (permalink)  
Antiguo 31/05/2010, 04:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Recibir cookies con CURL

Mira este ejemplo http://www.forosdelweb.com/3054644-post6.html. Y lo que te indica Nekeniehl es correcto, si no vas a ver el cuerpo de la página web. El tema completo de la página que te indiqué http://www.forosdelweb.com/f18/desca...-vacio-729387/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: cookies, curl, recibir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.