Foros del Web » Programando para Internet » PHP »

funcion get_headers

Estas en el tema de funcion get_headers en el foro de PHP en Foros del Web. Hola, mira ando un poco liado en conceptos de php y no acabo de entender algunas cosas. Tengo el siguiente codigo: $domain1 = 'http://pass.aplicacionesmonsan.net/Default.aspx'; $headers ...
  #1 (permalink)  
Antiguo 29/12/2014, 07:18
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
funcion get_headers

Hola,
mira ando un poco liado en conceptos de php y no acabo de entender algunas cosas.

Tengo el siguiente codigo:

$domain1 = 'http://pass.aplicacionesmonsan.net/Default.aspx';
$headers = get_headers($domain1);
print_r($headers);

hasta aquí bien, coge las cabeceras y las muestra en pantalla pero...
Si yo envío un formulario y quiero leer las cabeceras de respuesta de ese envío, como lo hago?

Entiendo que tendría de ser algo así:

$domain1 = hamlet o manejador del envío del formulario
$headers = get_headers($domain1);
print_r($headers);

No se si me explico... yo si con esta función a posteriori pido las cabeceras, lo que me devolverá no serán las cabeceras del envío del formulario sino las cabeceras de la dpetición posterior de $domain.

Gracias
  #2 (permalink)  
Antiguo 29/12/2014, 07:40
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: funcion get_headers

Preguuuuunta
y para que quieres las cabeceras??????????
  #3 (permalink)  
Antiguo 29/12/2014, 08:46
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

Estoy haciendo una aplicación de envío por sms premium donde cuando envío la información, ellos me devuelven en la cabecera el estado de la conexión (ej. 200) y el el body otro código del estado del SMS. Yo con ellos pretendo insertarlos en mi BD como comprobante y verificación del envío.

Que pasa si envío esto?

$headers = get_headers();
print_r($headers);

Esto imprimiría las cabeceras del POST actual?

Gracias
  #4 (permalink)  
Antiguo 29/12/2014, 08:50
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: funcion get_headers

mejor usa CURL asi tienes todo el detalle de las cabeceras
  #5 (permalink)  
Antiguo 29/12/2014, 09:13
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

Gracias pero tendría que reeditar las conexiones y todo este trabajo ya lo he hecho con dreamweaver y tutoriales de la red.
No hay forma sencilla en PHP de que si yo envío un formulario a PEPITO.COM pueda cargar en una variable el array de la cabecera???

Gracias
  #6 (permalink)  
Antiguo 29/12/2014, 09:17
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: funcion get_headers

Claro que si usando curl
las cabeceras las administra el navegador, no el server.
de que manera estas enviando el formulario¿?
  #7 (permalink)  
Antiguo 29/12/2014, 09:22
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

hola,
a través de un form en "POST" y un boton submit y campos de texto.

Y en vez de curl no podría ser un script, lo digo para no hacer la pelota de confusión mas grande.

Gracias
  #8 (permalink)  
Antiguo 29/12/2014, 09:30
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: funcion get_headers

con Curl debes de hacerlo pues no conosco otraforma facil de poder obtener las cabeceras con php.
  #9 (permalink)  
Antiguo 29/12/2014, 09:34
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

ok gracias
  #10 (permalink)  
Antiguo 29/12/2014, 18:26
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 11 años, 2 meses
Puntos: 3
Respuesta: funcion get_headers

Cita:
Iniciado por esquerda21 Ver Mensaje
ok gracias
Cierra tema e intenta evitar ese tipo de comentarios, se consideran SPAM
  #11 (permalink)  
Antiguo 29/12/2014, 20:03
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: funcion get_headers

@Strings he leido todo el hilo y no veo nada que se pueda considerar SPAM.... sumado a eso no hay razón para cerrar el tema si aun no ha sido solucionado.

En todo caso has de ser tu quien tenga que evitar hacer comentarios fuera de.lugar
  #12 (permalink)  
Antiguo 30/12/2014, 03:15
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

Hola, gracias por vuestros comentarios,

HE estado haciendo pruebas y obtengo lo siguiente.

He instalado wireshark con un filtro de POST.

Cuando envío con cUrl el filtro no me captura nada y de hecho 'apretando la F12 del navegador > RED, me aparece un GET.

Pero si lo hago con un FORM > SUBMIT el filtro de Wireshark me captura el POST con los valores y el explorer en RED, aparece un POST.

He visto que con cURL es muy facil capturar las cabeceras. Sería interesante usarlo pero si veo que chuta.

Os copio el código:

con cURL:

Código PHP:
$handler curl_init();
      
curl_setopt($handlerCURLOPT_URL'http://pass.aplicacionesmonsan.net/Default.aspx');
           
curl_setopt($handlerCURLOPT_POSTTRUE);
           
curl_setopt($handlerCURLOPT_POSTFIELDS"user=7777777&password=VALOR&pepe=pito");
           
$response curl_exec($handler);
        
print_r('----'.$response);
           
curl_close($handler); 
Respecto a cerrar el tema, y perdón mi ignorancia, no basta un simple gracias o hay que clicar en algún sitio?
  #13 (permalink)  
Antiguo 30/12/2014, 11:34
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

He estado haciendo pruebas y haber si alguien me hecha un cable:

el código que os pego genera lo siguiente...

En la opción de F12 de Mozilla aparece la conexión como GET
En Wireshark aparece como POST:
Alguien me puede decir porque?????

SALIDA MOZILLA----------------------------------------------------

Código:
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: __utma=111872281.2136782236.1420637761.1420637761.1421191679.2; __utmz=111872281.1420637761.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); visadd_lock_time=all
Connection: keep-alive
Cache-Control: max-age=0
SALIDA WIRESHAR-------------------------------------------------

Código:
[post/Default. aspx http/1. l\r\n]
[severity level: chat]
[Group: sequence]
Request Method: post
Request uri:
/Def ault . aspx
Request version: http/1.1
Host : pass. apl i caci onesmonsan. net\r\n
Accept: */*\r\n
Content-Length: 49\r\n
[Content length: 49]
content -Type : appl i cation/x-www-f orm-url encoded\r\n
\r\n
[Full request uri: http://pass.aplicacionesmonsan.net/Default.aspxl
[HTTP request 1/1]
[Response in frame: 221
html Form url Encoded: appl i cati
on/x-www-f orm-url encoded
Form item: "usr" = "rafa"
Form item: "pwd" = "777777"
Form item: "mlD" = "Svar_mlD"
Form item: "mBody" = "Svar_mBody"
PHP CURL---------------------------------------------------

Código:
<?php
	
	$var_mID = '45343535353';
	$var_mBody = 'Hola que tal';
	
	//$parametros_post = 'parametro1='.urlencode($valor1).'&parametro2='.urlencode($valor2);
  
        $handler = curl_init();
      	curl_setopt($handler, CURLOPT_URL, 'http://pass.aplicacionesmonsan.net/Default.aspx');
       	curl_setopt($handler, CURLOPT_POST, TRUE);
		$cabecera = curl_setopt($handler, CURLOPT_HEADER, TRUE);
		
		  curl_setopt($handler, CURLOPT_POSTFIELDS, 'usr=rafa&pwd=777777&mID=$var_mID&mBody=$var_mBody');
		//curl_setopt ($handler, CURLOPT_POSTFIELDS, $parametros_post);
		//curl_setopt( $handler, CURLOPT_POSTFIELDS, $post );
  		curl_setopt( $handler, CURLOPT_RETURNTRANSFER, TRUE );
		
		//echo $cabecera;
       	//curl_setopt($handler, CURLOPT_POSTFIELDS, "user=7777777&password=VALOR&pepe=pito");
   		$response = curl_exec($handler);
		//print_r('----'.$response);
		
		$header_size = curl_getinfo($handler, CURLINFO_HEADER_SIZE);
		$header = substr($response, 0, $header_size);
		$body = substr($response, $header_size); 
//echo '-'.$header_size;
//echo '-'.$header;
//echo '-'.$body;    
	   	curl_close($handler);
?>
  #14 (permalink)  
Antiguo 30/12/2014, 12:11
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: funcion get_headers

por que mosilla no es quien hace la peticion sino la libreria cURL de php.

probe tu codigo es esta funcionando bien
Código PHP:
<?php
  
  $var_mID 
'45343535353';
  
$var_mBody 'Hola que tal';
  
        
$handler curl_init();
        
curl_setopt($handlerCURLOPT_URL'http://pass.aplicacionesmonsan.net/Default.aspx');
        
curl_setopt($handlerCURLOPT_POSTTRUE);
    
curl_setopt($handlerCURLOPT_HEADERTRUE);
      
curl_setopt($handlerCURLOPT_POSTFIELDS'usr=rafa&pwd=777777&mID=$var_mID&mBody=$var_mBody');
          
curl_setopt$handlerCURLOPT_RETURNTRANSFERTRUE );
    
      
$response curl_exec($handler);
    
print_r('----'.$response);
    
      
curl_close($handler);
?>
obtengo esta cabecera:

HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/8.5 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Tue, 30 Dec 2014 18:14:27 GMT Content-Length: 3 103
  #15 (permalink)  
Antiguo 30/12/2014, 14:28
 
Fecha de Ingreso: enero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: funcion get_headers

Bueno no lo acabo de entender pero ya habrá ocasión.
Cierro el Tema
Gracias a todos

Etiquetas: formulario, funcion
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 21:28.