Foros del Web » Programando para Internet » PHP »

Cabeceras HTTP y doc. XML

Estas en el tema de Cabeceras HTTP y doc. XML en el foro de PHP en Foros del Web. Saludos!!!! mi script es el siguiente: $docXML = "<inicio>" . . . ."</inicio>"; $cabecera = "POST /proceso/recibexml.php HTTP/1.1 \r\n" ."Content-Length: ".strlen($docXML)." \r\n" ."Content-Type: text/xml \r\n" ...
  #1 (permalink)  
Antiguo 20/02/2004, 12:32
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 10 meses
Puntos: 0
Cabeceras HTTP y doc. XML

Saludos!!!!


mi script es el siguiente:

$docXML = "<inicio>"
.
.
.
."</inicio>";


$cabecera = "POST /proceso/recibexml.php HTTP/1.1 \r\n"
."Content-Length: ".strlen($docXML)." \r\n"
."Content-Type: text/xml \r\n"
."Host: localhost \r\n"
."Accept-Language: es-mx \r\n"
."Accept: */* \r\n"
."Accept-Encoding: gzip, deflate \r\n"
."User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;
Windows NT 5.1; .NET CLR 1.0.3705) \r\n"
."Connection: Keep-Alive \r\n"
."Cache-Control: no-cache \r\n\r\n"
.$docXML;


$url = "http://localhost/proceso/recibexml.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, URLOPT_CUSTOMREQUEST,$cabecera);
curl_close($ch);


EL resultado que obtengo al ejecutar este script es el siguiente
HTTP 200 OK
.
.
.

y aki va el contenido del XML


Solamente puedo obtener las cabeceras con $_SERVER['XXXXX']
mis dudas son las siguientes:
- como puedo obtener el contenido del doc. XML???? (que es lo que realmente me interesa)
- tengo ke asignar el documento XML a una variable para poder procesarlo???

Gracias!!!
  #2 (permalink)  
Antiguo 20/02/2004, 15:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En PHP ya dispones de funciones para parsear tu XML:

http://www.php.net/manual/en/ref.xml.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/02/2004, 18:33
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 10 meses
Puntos: 0
A ver, aver...

Creo ke no me explique del todo bien, lo ke kiero es sacar el documento xml ke se mando vía POST.
Es decir todo lo ke sigue despues de la cabecera HTTP.

Saludos!!!!!!!
  #4 (permalink)  
Antiguo 20/02/2004, 18:41
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 21 años, 4 meses
Puntos: 2
busca en www.zonaphp.com hay un buen articulo de xml y php
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #5 (permalink)  
Antiguo 20/02/2004, 19:24
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 10 meses
Puntos: 0
Kreo ke siguen sin entenderme mi problema

Mi problema no esta en como parsear ó interpretar el doc. XML, lo ke kiero es obtener un doc. que es enviado vía POST .

Tengo una pag. (envio.php) en la que mando las cabeceras HTTP con el método POST y un doc XML

La cabecera ke envío es la siguiente:

POST /procesa/recibe.php HTTP/1.1
Accept: */*
Accept-Language: es-mx
Content-Type: text/xml
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
Host: localhost
Content-Length: xxx
Connection: Keep-Alive
Cache-Control: no-cache

<registro>
<!-- Aki va todo el contenido del doc XML-->
</registro>



En una 2da pagina (recibe.php) "kiero obtener el doc. XML enviado" ,cosa ke hasta el momento no he podido realizarr


Saludos de nuevo!!!!!!
  #6 (permalink)  
Antiguo 20/02/2004, 19:30
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
Algo me dice que estas metiendote con algo de Web Services o parecidos, no?

Bueno, pues como ha dicho Cluster, PHP cuenta ya con una gama de opciones para parsear documentos XML. Pero eso no significa que no se pueda hacer un intento creativo por otro lado (asi nacen las grandes ideas), así que vamos a revisar tu caso.

Te recomiendo revisar esta funcion, que te ayudara a conocer el tamaño de los headers, de tal forma que puedas comenzar a leer a partir del final de los headers:

$cabeceras = curl_getinfo ($ch,"CURLINFO_HEADER_SIZE");


Saludos!
__________________
Manoloweb
  #7 (permalink)  
Antiguo 20/02/2004, 19:58
 
Fecha de Ingreso: enero-2004
Mensajes: 118
Antigüedad: 20 años, 10 meses
Puntos: 0
Ke tal Manoloweb!!!

Pues si tienes razon, estoy manejando eso de los Web Services, pero te podrias explicar un poco más sobre eso de leer a partir de una posicion determinada los headers????

Saludos!!
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.