Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/01/2010, 13:47
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: Hacer login con CURL

Después de varias pruebas, de la única forma que pude lograr ver los cookies en otra página es usando dos consultas de curl. Cree dos páginas de PHP, de esta forma:
Código PHP:
Ver original
  1. <?php
  2. //b.php
  3. $_SESSION["username"] = "username";
  4. $_SESSION["password"] = "password";
Código PHP:
Ver original
  1. <?php
  2. //c.php
  3. echo $_SESSION["username"]."<br />";
  4. echo $_SESSION["password"];
Y el código que use para pasar un cookie a la otra página
Código PHP:
Ver original
  1. <?php
  2. //index.php
  3. $ch = curl_init('http://localhost/b.php');
  4. curl_setopt($ch,    CURLOPT_AUTOREFERER,        true);
  5. curl_setopt($ch,    CURLOPT_COOKIESESSION,      true);
  6. curl_setopt($ch,    CURLOPT_FAILONERROR,        false);
  7. curl_setopt($ch,    CURLOPT_FOLLOWLOCATION,     false);
  8. curl_setopt($ch,    CURLOPT_HEADER,             true);
  9. curl_setopt($ch,    CURLOPT_RETURNTRANSFER,     true);
  10. $result = curl_exec($ch);
  11.  
  12. $pattern = "/Set-Cookie: (PHPSESSID=.*?;)/i";
  13. preg_match_all($pattern, $result, $m);
  14.  
  15. $ch = curl_init('http://localhost/c.php');
  16. curl_setopt($ch,    CURLOPT_COOKIE,             $m[0][0]);
  17. curl_setopt($ch,    CURLOPT_AUTOREFERER,        true);
  18. curl_setopt($ch,    CURLOPT_COOKIESESSION,      true);
  19. curl_setopt($ch,    CURLOPT_FAILONERROR,        false);
  20. curl_setopt($ch,    CURLOPT_FOLLOWLOCATION,     false);
  21. curl_setopt($ch,    CURLOPT_HEADER,             false);
  22. curl_setopt($ch,    CURLOPT_RETURNTRANSFER,     true);
  23. $result = curl_exec($ch);
  24. echo $result;
La forma como lo logre, es usando el header de la página. Esta información la encontre en esta página http://www.phpbuilder.com/board/show...php?t=10346748
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos