Ver Mensaje Individual
  #12 (permalink)  
Antiguo 27/07/2013, 16:16
Avatar de Dalam
Dalam
 
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 16 años
Puntos: 56
Respuesta: ¿Es posible redireccionar con curl?

CURL permite muchas cosas entre las cuales esta obtener la cookie y el retorno del código por ejemplo.

Para obtener la cookie y guardarla en un archivo temporal hasta que se destruya CURL
seria :

Código PHP:
    $cookiefile = tempnam ("temp", "CURLCOOKIE");
    
    
$ch= curl_init("http://pagina a visitar.com");
    
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
    
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    
$resultado = curl_exec ($ch); 
Esto crearía un archivo .tmp con los valores de la cookie y cargaría el código de la pagina en la variable $resultado, puedes obtener todos los datos que posee la pagina o hacer lo que quieras con el código y luego puedes hacer lo siguiente para enviar los datos por post:
Código PHP:
    $ch= curl_init("http://pagina a visitar.com");//pagina a visitar
    
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookiefile);//utilizamos la cookie que conseguimos anteriormente
    
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);//para que nos devuelva el resultado
    
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//esto es para seguir las redirecciónes
    
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);//tiempo máximo de conexión. 0 para ilimitado
    
curl_setopt ($ch, CURLOPT_POST, 1);//utilización de método post
    
curl_setopt ($ch, CURLOPT_POSTFIELDS, "variable1=valor1&variable2=valor2");//variables que se desean enviar
    
$res = curl_exec ($ch);//ejecuta CURL
    
unlink($ckfile);//borra el archivo de la cookie
    
curl_close($ch);//cierra CURL 
Una vez tengas esto y si no has enviado nada al navegador puedes utilizar header de php para redireccionár a la pagina que desees.
Ten en cuenta que si no borras la cookie podrás tener los datos de la misma para redireccionár a alguna pagina del servidor del que la obtuviste

Si tienes alguna duda sobre como utilizar CURL me lo haces saber.
Espero que te sirva esto.