![]() |
Enviar datos a un formulario web y obtener respuesta
Hola a todos
Estoy leyendo algunos hilos sobre el tema , pero para serles muy sincero soy totalmente novato en este tema de las web Pero les comento mis inquietudes a ver si alguien se anima a ayudarme un poco Tengo una pagina web https://declaraciones.sri.gov.ec/fac...-documento.jsp En esta pagina hay unos campos que rellenar para saber si un documento en mi país (Ecuador) es valido , como puedo desde delphi enviar estos parámetros y obtener el dato si es valido o no Ejemplo para validar 1.- Es valido Autorizacion=1109046610 Ruc = 1307109957001 tipo de documento FACTURA Numero de documento 001 002 0045458 2- No valido Autorizacion=1109046610 Ruc = 1307106037001 tipo de documento FACTURA Numero de documento 001 002 0045458 Gracias por su tiempo Un abrazo a la distancia Utilizo delphi 6 y los componentes INDY ,, En espera de su amable respuesta quedo muy agradecido :mad: |
Revisa este hilo; Es muy parecido. Intenta montar un código tal y como está ahí (modificando los campos) y a ver si funciona. a partir de ahí podemos ver dónde está el error.
|
Mil gracias por tu respuesta
Lo que indica Roman en ese Post Código PHP:
peor no se y perdona como enviar los parametros que si los conosco segun tu codigo resp := IdHTTP.Post('http://www.ibpindex.com/ibpweb.asp?LAN=es', Params); La pagina deberia aceptar parametros , pero he intentado enviar directamente los parametros y me indica error en la pagina o algo estoy haciendo mal El codigo que indica me da un error en params Yo supongo que en params , debo enviar los nombres de los campos que estan en el formulario y de ahi ejecutar la accion del boton que da click y obtener los resultados Perdoname Neftali pero como que estoy medio confundido Te pongo el codigo que tengo Código:
procedure TForm1.Button3Click(Sender: TObject); Gracias por tu tiempo |
He encontrado un codigo de roman usando webbrowser
que me sirve Código:
// form := WebBrowser1.LocationURL('https://declaraciones.sri.gov.ec/facturacion-internet/consultas/publico/consulta-validez-documento.jsp',Sender); |
No, no. Desecha ese método.
Te pongo un ejemplo usando IdHTTP:
Ahora, dado que la url usa el protocolo https, no te servirá si lo pones así nada más. Debes agregar un componente IdSSLIOHandlerSocketOpenSSL (también de las Indy) y asignárselo a la propiedad IOHandler del IdHTTP. // Saludos |
Mil gracias Roman
Funciona perfecto , me sale un mensaje Código:
Connection closed Gracefully la linea es la que me dice que se valido correctamente o no en este caso es la Código:
<div class="merror">El Documento que usted ha consultado, se encuentra autorizado por el SRI, y deberá contener los O si es mucha molestia me guias como puedo leer lo que me devuelve el memo para poder colocar ese dato en campos de mi formulario Gracias y un abrazo a la distancia |
Cita:
|
Ja, ja. Sí parece fácil ¿verdad? Pero lo cierto es que yo no sé casi nada de eso, salvo que lo he usado anteriormente para mandar correo con gmail que usa el protocolo ssl. Pero, a diferencia de aquél caso, aquí parece que no son necesarias las bibliotecas openssl, y eso sí que no lo entiendo, je, je.
// Saludos |
Gracias a todos por colaborar en mi problema , ya esta solucionado
Mil gracias nuevamente :D |
Hola,
Sería bueno que pusieras cómo hiciste para encontrar el dato específico en la página de resultados y así tener la solución completa. // Saludos |
Claro , solo hice algo sencillo,
Use un componente Richedit y busque dentro de el la cadena que busco , si la encuentro el documento es valido , caso contrario no Código:
procedure TFIng_Fact.Validar_documentoClick(Sender: TObject); |
Roman, como estas?
Te hago una consulta. Por ahi es facil pero no logro dar con la tecla. Estoy haciendo un POST a una web ASP, y tengo que enviar un token firmado previamente. Con el WebBrowser lo puedo hacer sin problema, pero con las Indy no logro hacerlo andar. Según lo que pude encontrar en la web es que viajan de forma distinta los datos o por lo menos van formateados en forma distinta. Con el WebBrowser envio los datos se la siguiente manera:
Los datos que van dentro del Token_a_Enviar.txt es algo como esto:
Luego en el evento "WebBrowser1NavigateComplete2" me hago del resultado. Quisiera hacer lo mismo con las Indy. Ya que aunque me devuelva error de que ingrese mal los datos, la obtención del resultado es más rapida. Intente de varías manera, pero no lo he logrado... Este es uno de los intentos, con las Indys.::
Por ahora con el WebBrowser salgo del apuro, pero quisiera hacerlo mas optimo... Desde ya mil gracias! Sdos.- |
La franja horaria es GMT +2. Ahora son las 09:32:22. |
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