Foros del Web » Programando para Internet » PHP »

Obtener cabecera HTTP con cURL

Estas en el tema de Obtener cabecera HTTP con cURL en el foro de PHP en Foros del Web. Hola! Tengo un problema con PHP y cURL y es que no se como obtener las cabeceras HTTP de respuesta del servidor luego de una ...
  #1 (permalink)  
Antiguo 01/06/2009, 15:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Obtener cabecera HTTP con cURL

Hola!

Tengo un problema con PHP y cURL y es que no se como obtener las cabeceras HTTP de respuesta del servidor luego de una petición, no me refiero al código de respuesta solamente, sino a todas las opciones ("Server", "Location", etc).

Intente usar la opción CURLOPT_HEADERFUNCTION pero no entiendo bien su funcionamiento y la documentación que leí era algo confusa. ¿Hay alguna manera de obtener las cabeceras en un array asociativo?

Podrían orientarme un poco?
Gracias, Un Saludo!
  #2 (permalink)  
Antiguo 01/06/2009, 18:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener cabecera HTTP con cURL

De hecho la directiva es CURLOPT_HEADER, la tienes que poner en True para que con la respuesta te regrese los valores.

Saludos.
  #3 (permalink)  
Antiguo 02/06/2009, 13:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Obtener cabecera HTTP con cURL

Cita:
Iniciado por GatorV
De hecho la directiva es CURLOPT_HEADER, la tienes que poner en True para que con la respuesta te regrese los valores.
Si, de hecho eso lo probé, pero me muestra los valores en el navegador, yo los quería guardar en una variable para manipularlos. Probe con CURLOPT_HEADER en conjunto con CURLOPT_HEADERFUNCTION pero no acabo de comprender el funcionamiento, se que hay que pasarle una función como argumento pero no se que hacer con ella...

Gracias por responder!
Un Saludo!
  #4 (permalink)  
Antiguo 02/06/2009, 13:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener cabecera HTTP con cURL

En ese caso tienes que usar return transfer para guardarlos (CURL_RETURNTRANSFER) y al llamar a curl_exec() este te va a regresar la salida.

Saludos.
  #5 (permalink)  
Antiguo 02/06/2009, 14:36
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Obtener cabecera HTTP con cURL

Gracias, eso funciono!

Y ya que estoy quería preguntar otra cosa: ¿Hay alguna manera de separar correctamente los valores del header? porque aparecen todos en una misma línea y ¿como hago para ver el encabezado que voy a mandar yo, para verificar que es correcto?

Espero no molestar demasiado jeje
Un Saludo!
  #6 (permalink)  
Antiguo 02/06/2009, 18:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener cabecera HTTP con cURL

Las cabeceras van separadas por un \r\n por lo que en la pagina parece que estan en la misma linea, pero realmente van en diferentes lineas.

Saludos.
  #7 (permalink)  
Antiguo 03/06/2009, 12:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Obtener cabecera HTTP con cURL

Jaja, claro, me asuste porque estaba pensando que \r\n no estaban entre cabeceras, lo que pasaba era que mostraba el encabezado en el navegador sin las etiquetas <pre></pre>. Ahora parece estar perfecto, gracias.

Un Saludo!
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 18:56.