FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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
__________________
IVAND Última edición por IVAND fecha: 17-03-2011 a las 03:03:22. |
#2
|
||||
|
||||
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.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
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); var Response: String; AResponseContent: TMemoryStream; resp, ruta:string; TS:TStrings; begin Randomize; AResponseContent := TMemoryStream.CReate(); ruta := Trim('Hola'); //solo para probar pues mi pagina no se ingresa un archivo if ruta <> '' then begin Params.Clear; Params.Values['ruc'] := '1307106037001'; Params.Values['autorizacion'] := '123455566'; resp := IdHTTP.Post('https://declaraciones.sri.gov.ec/facturacion-internet/consultas/publico/consulta-validez-documento.jsp' , Params); end; // Se supone que resp me envie la respusta de valido o no el documento TS := TStringList.Create; TS.Add(resp); TS.SaveToFile('r:\response' + IntToStr(Random(1000)) + '.txt.html'); FreeAndNil(TS); FreeAndNil(AResponseContent); end; Gracias por tu tiempo
__________________
IVAND |
#4
|
|||
|
|||
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); form := WebBrowser1.OleObject.document.forms.item(0); form.item(3).value := '1109285496'; form.item(4).value := '1307109957001'; form.item(6).value := '001'; form.item(7).value := '001'; form.item(8).value := '0144887'; form.submit;
__________________
IVAND |
#5
|
||||
|
||||
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 |
#6
|
|||
|
|||
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 siguientes datos:</div> 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
__________________
IVAND |
#7
|
||||
|
||||
¡Qué grande Román! Dicho así parece fácil y todo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
|||
|
|||
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.- |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener solo los nuevos correos (seguramente sin respuesta) | Enan0 | Internet | 1 | 02-04-2010 15:20:07 |
Enviar datos de un formulario a una pagina | barracuda | PHP | 3 | 28-11-2007 21:08:40 |
Enviar datos de un formulario | lucasarts_18 | HTML, Javascript y otros | 2 | 19-12-2006 17:18:26 |
Tiempo de respuesta en Volumen de datos | saulpm007 | Firebird e Interbase | 0 | 13-10-2004 02:19:10 |
|