Foros del Web » Programando para Internet » PHP »

Detectar respuesta del servidor (xml mal formado)

Estas en el tema de Detectar respuesta del servidor (xml mal formado) en el foro de PHP en Foros del Web. Buenas, Tengo un script que me dice si la pagina que visito me devuelve un código 200 u otro. El problema es que si accedo ...
  #1 (permalink)  
Antiguo 15/04/2010, 14:56
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 12 años, 8 meses
Puntos: 20
Detectar respuesta del servidor (xml mal formado)

Buenas,

Tengo un script que me dice si la pagina que visito me devuelve un código 200 u otro.
El problema es que si accedo a un fichero xml (forzando una ruta invalida) me dice que no es valido

Error que muestra el código fuente si accedo directamente al xml:
<ROOT><error>Expression must evaluate to a node-set.</error></ROOT><?xml version="1.0" encoding="utf-8"?>

Script
Código PHP:
Ver original
  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  4. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  5. curl_setopt($ch, CURLOPT_URL, "https://www.bwin.com/partner/xml/query.aspx?source=events&lid=4&xpath=/ROOT/EVENTS/");
  6. //curl_setopt($ch, CURLOPT_URL, "http://www.google.es");
  7.  
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLINFO_HEADER_OUT, true);
  10. curl_exec($ch);
  11. $info = curl_getinfo($ch);
  12. echo $info['http_code'];
  13. echo "<pre>";
  14. var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT));
  15. echo "</pre>";
  16. ?>

Respuesta del script

Código:
200

string(113) "GET /partner/xml/query.aspx?source=events&lid=4&xpath=/ROOT/EVENTS/ HTTP/1.1
Host: www.bwin.com
Accept: */*

"
Me muestra el código 200 porque ha conseguido acceder a la pagina pero como detecto que el xml no esta bien formado? una opción que se me ocurre es con expresiones regulares... coger todo lo que hay entre los tags <error> </error>

Se os ocurre otra forma?

El objetivo es que tengo que leer ese archivo XML y claro antes de leerlo me interesa saber si puedo acceder correctamente y no hay ningún fallo.

Muchas gracias de antemano!

Etiquetas: detectar, mal, respuesta, xml, servidores
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 22:55.