![]() |
Llamada HTTP a una URL
Hora foro, estoy realizando una aplicacion en delphi y necesito realizar una llamada HTTP a una URL con el metodo POST pasándole un parámetro llamado "XML". Y luego la URL, me devolverá un XML.
Es la primera vez que hago algo parecido y no se por donde empezar. Alguien podría orientarme. De que manera puedo hacer la llamada a la URL y enviarle el XML. Como obtengo el XML que me devuelve y de que manera puedo leer su contenido. El formato del XML es algo parecido a esto: <ROOT> <AUTHENTICATION> <LOGIN>gestorsms</LOGIN> <PASSWORD>pwdgestor</PASSWORD> </AUTHENTICATION> <METHOD>enviar</METHOD> <INPUT> <BODY>texto</BODY> </INPUT> </ROOT> Gracias de antemano por vuestra ayuda. |
Hola,
Para el asunto del HTTP POST, puedes echar un vistazo a este truco (que usa WinInet) o a este otro truco que usa el componente IdHttp de los componentes Indy. Respecto de cómo "parsear" el XML que obtengas como respuesta, puedes buscar información sobre el componente "TXmlDocument", que igual te sirve. |
Gracias dec, por tu comentario. Lo he seguido y he realizado el siguiente codigo para hacer la llamada a la URL.
Este codigo me funciona y hace el post a la URL, pero la URL me da un error indicando que las sintaxis del codigo xml que yo le envio no es la correcta. Creo que el problema viene de que el parametro "xml" que yo envio es del tipo TStrings y la URL solo esta leyendo la primera linea, ya que espera un parametro de tipo string. No puedo poner todo el codigo xml en la primera linea del Tstrings ya que tiene mas de 255 caracteres y a la hora de compilar delphi me da un error, indicando que el literal del Strings no puede superar 255 caracteres. Sabría alguien de que manera puedo enviar dicho codigo xml, por medio del post, en un solo string. Gracias y saludos. |
Yo tenía un problema parecido para mandar Html como un ansistring.
Échale un vistazo a este post donde lo preguntaba, a ver si te sirve: http://www.clubdelphi.com/foros/showthread.php?t=60858 Un saludo. |
Gracias, con tu comentario ya lo he solucionado.
Con este codigo me ha funcionado a la perfeccion. Pero ahora se plantea otro problema. En la variable "respuesta" el post almacena la respuesta de la URL. El contenido de respuesta es codigo xml y necesito poder moverme por sus etiquetas para capturar la información que me devuelve la URL y almacenarla en una tabla. Como puedo conseguir esto? Os comento que estoy trabajando con Delphi 5. Saludos y gracias. |
La franja horaria es GMT +2. Ahora son las 09:28:50. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi