Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/06/2010, 19:09
Avatar de abimaelrc
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: ayu. mantener la sesion de curl

Para que tengas una idea mejor, crea este ejemplo y mira la información que te brinda

a.php
Código PHP:
Ver original
  1. <?php
  2. function set_cookie($string){
  3.     $cookiearr = array();
  4.     $cookie = '';
  5.     preg_match('/Set-Cookie: .+;/i',$string,$m);
  6.     $cookiestr = trim(substr($m[0], 11, -1));
  7.     $eC = explode(';', $cookiestr);
  8.     $eC = explode('=', $eC[0]);
  9.     $cookiename = trim(array_shift($eC));
  10.     $cookiearr[$cookiename] = trim(implode('=', $eC));
  11.  
  12.     foreach ($cookiearr as $key=>$value){
  13.         $cookie .= "&$key=$value";
  14.     }
  15.  
  16.     return $cookie;
  17. }
  18.  
  19. if(empty($_GET['url'])){
  20.     $url = 'http://localhost/b.php';
  21.     $c = curl_init();
  22.     curl_setopt($c, CURLOPT_URL, $url);
  23.     curl_setopt($c, CURLOPT_HEADER, true);
  24.     curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  25.     curl_setopt($c, CURLOPT_NOBODY, true);
  26.  
  27.     $page = curl_exec($c);
  28.     curl_close($c);
  29.     echo '<a href="a.php?url=c.php' . set_cookie($page) . '">enlace</a>';
  30. }
  31. else{
  32.     $url = 'http://localhost/' . $_GET['url'];
  33.     $cookie = 'PHPSESSID=' . $_GET['PHPSESSID'] . '; ';
  34.     $c = curl_init();
  35.     curl_setopt($c, CURLOPT_URL, $url);
  36.     curl_setopt($c, CURLOPT_COOKIE, $cookie);
  37.     curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
  38.  
  39.     $page = curl_exec($c);
  40.     curl_close($c);
  41.     echo $page;
  42. }

b.php
Código PHP:
Ver original
  1. <?php
  2. $_SESSION['foo'] = 'bar';

c.php
Código PHP:
Ver original
  1. <?php
  2. echo $_SESSION['foo'];
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos