Obtener datos de servicio externo XML para login por PHP

Avatar

Buenas.

Por si me podéis dar algo de luz, me encuentro un pelín atascado. Un login con nif y pass, la información necesaria viene de un servicio, URL del tipo https://servidor.com/cgi/login Todas las peticiones son por POST.

Los parámetros de la petición de login son cod, nif y pass.

Cuando un usuario se autentica se realiza la solicitud y dependiendo de la respuesta envía ese id que se utilizará en las llamadas del resto de servicios. Si la respuesta es OK obtengo algo tal que así:

<?xml version="1.0" encoding="UTF-8"?>
<peticion>
   <parametros>
      <script>login</script>
      <cod>154865628</cod>
      <num_cuenta>44</num_cuenta>
      <idi>CAST</idi>
      <voe>T</voe>
   </parametros>
   <datos>
     <id>ot67l5yEpV8TL75ONdoT</id>
   </datos>
</peticion>

Como obtengo/llego a ese ID? Algún tipo de parseador en XML, he estado mirando la documentación y haciendo pruebas, pero mi "poca experiencia" me hace no tenerlas todas conmigo, una guía, una ayuda, el curro lógicamente es mío y solamente mío, para salir del bloqueo.

Un saludo y gracias.

3respuestas
Avatar

Doy un poco más de información.

Tengo un formulario, login y nif pero como accedo a ese ID con esa url ....

La teoría más o menos la tengo clara, pero luego pasarlo a código me está costando y no consigo mucho jejeje

El tema es que no hay archivo xml local ni nada, de ahí mis complicaciones, es decir no lo tengo yo, o no lo tengo de forma externa como tal, como podría ser un feed de rss.

Con esos datos se supone que obtengo los datos. La información que se devuelve al hacer la petición la convierto en objeto para poder tratarla y recorrerla, y así acceder al tag id, pero como sé como accesar.

No sé si influirá también que sea por https. Tengo opción de probar en un servidor que tengo.

Antes iba en BBDD, ahora es gestionado por una "aplicación", tengo unos servicios, uno de ellos es el de login.

Un saludo y gracias.

Avatar

Hola Javi,

No había leído tu comentario. Si estás con PHP puro que creo así es, pues yo usaba https://www.w3schools.com/php/php_xml_simplexml_read.asp

No entiendo mucho esta parte: "El tema es que no hay archivo xml local ni nada, de ahí mis complicaciones, es decir no lo tengo yo, o no lo tengo de forma externa como tal, como podría ser un feed de rss." -> Es decir, entiendo que lo obtienes de un servicio, de ser si, entonces debes recorrer el archivo con simplexml por ejemplo.

Avatar

Gracias Yesi, es que explicándome soy un libro abierto.

Efectivamente, hay unos servicios, cada uno para una cosa distinta, el principal es el del login, el punto de partida.

Probando cosas y tirando de la documentación, con simplexml voy viendo luz, y bueno, pregunté para ver más luz. Sí es PHP puro, muchas gracias.

Necesitas iniciar sesión para responder.
¿En qué estamos trabajando?