Foros del Web » Programando para Internet » PHP »

Redireccionar con curl

Estas en el tema de Redireccionar con curl en el foro de PHP en Foros del Web. Hola, les cuento que estoy haciendo un bot de busqueda (específicamente de busqueda de vuelos) con curl. El tema es que estoy trabado a la ...
  #1 (permalink)  
Antiguo 21/09/2010, 09:57
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 2
Redireccionar con curl

Hola, les cuento que estoy haciendo un bot de busqueda (específicamente de busqueda de vuelos) con curl. El tema es que estoy trabado a la hora del deeplinking porque no tengo forma de redireccionar al visitante a la página individual de cada vuelo. Lo que necesitaría seria algo como curl_exec() pero que en vez de devolverme el contenido, me redirija a esa página. Las razones por las que no puedo usar header() son que en algunos de los sitios necesitan que les envíen cookies y/o variables post. Espero me puedan ayudar.
  #2 (permalink)  
Antiguo 21/09/2010, 11:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 8 meses
Puntos: 1517
Respuesta: Redireccionar con curl

Para que te haga redirecciones solo tienes que activar CURLOPT_FOLLOWLOCATION. Te recomiendo que pases por el área de aportes, hay un tema que te da ejemplos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/09/2010, 12:38
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Redireccionar con curl

El CURLOPT_FOLLOWLOCATION ya esta en true, pero eso sirve para que siga las redirecciones, yo lo que quiero es redireccionar desde mi script hacia la página, como si hiciera Header( "Location: http://www.nueva-direccion.com" ); pero con curl y enviando las cookies y las variables que necesite.
  #4 (permalink)  
Antiguo 21/09/2010, 13:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 15 años, 8 meses
Puntos: 2135
Respuesta: Redireccionar con curl

Pues solo haz un request al archivo, no tienes que usar header() simplemente crear otro objeto cURL con la nueva dirección.

Saludos.
  #5 (permalink)  
Antiguo 21/09/2010, 14:00
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Redireccionar con curl

Ahora si no entendí. Lo que no entiendo es como llegar a esa dirección con curl en lugar de simplemente traerla. Por ejemlo en lugar de:


Código PHP:
Ver original
  1. $ch = curl_init();
  2.  
  3. //configuro todas las opciones que necesite de curl (pongo estas opciones por poner algo)
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  6. curl_setopt($ch, CURLOPT_HEADER, 1);
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  8. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  9. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  10.  
  11. curl_setopt($ch, CURLOPT_URL, 'http://algo.com');
  12.  
  13. //realizo la petición
  14. $unaVariable = curl_exec($ch);
  15.  

En este ejemplo curl me estaria guardando el cóntenido de 'algo.com' dentro de la variable '$unaVariable' yo lo que necesito es hacer lo mismo pero llevar al navegador a algo.com (pero enviando todo lo que necesite con curl).
  #6 (permalink)  
Antiguo 21/09/2010, 14:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 8 meses
Puntos: 1517
Respuesta: Redireccionar con curl

Sinceramente no entendí, ya que con ese código estás llevando la información de algo.com. Podrías brindar un ejemplo, como harías tu manualmente y así se te puede indicar lo que debes hacer. Me refiero a como tu navegarias, ya que cURL es simular lo de navegar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 21/09/2010, 14:59
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 13 años, 6 meses
Puntos: 105
Respuesta: Redireccionar con curl

si quieres ir a otra pagina (redireccion).... creo que automaticamente solo se puede GET... ejemplo usando header y concatenando los parametros en la url....

Si la otra pagina necesita los parametros con POST... con CURL yo que sepa puedes llamarla pero sin redireccion...

Entonces la opcion que te queda es un formulario que envie con hidden los paramtros con POST y lo actives automaticamente con javascript....

Espero sea lo que pedias....

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 21/09/2010, 18:46
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Redireccionar con curl

El problema principal no es tanto enviar las variables post, sino las cookies necesarias (es bastante dificil de explicar el funcionamiento) pero ya me las arreglare muchas gracias por su ayuda a los 4.
  #9 (permalink)  
Antiguo 21/09/2010, 19:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 8 meses
Puntos: 1517
Respuesta: Redireccionar con curl

¿Quién es el cuarto?

Creo que se está contando a si mismo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 22/09/2010, 07:49
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Redireccionar con curl

Jeje, me parece que te conte 2 veces

Etiquetas: curl, redireccionar
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 20:12.