Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   enviar información desde excel a una pagina WEB (https://www.clubdelphi.com/foros/showthread.php?t=90705)

fqm33 16-08-2016 20:53:57

enviar información desde excel a una pagina WEB
 
Buenas tardes, es mi primera participación directa en el foro, sin embargo desde hace años he venido buscando información aquí y me ha sido de gran ayuda, sin embargo no he encontrado lo que paso a preguntar, necesito realizar una aplicación que me permita entrar a una pagina por medio de usuario y contraseña, estos datos son dinámicos pues son entregados al usuario por medio de un token, luego de entrar a la pagina debo ingresar unos datos que están en una tabla de excel. este procedimiento me arroja dos datos, los cuales debo incorporar a la fila de excel del archivo de origen, he buscado y encontré información sobre archivos XML, sobre Indy, wininet, y por mucho que he leído, no he logrado avanzar, quisiera una luz al respecto desde donde comenzar ojala de ceros pues al leer la información que les comento me quedo corto. muchas gracias, (si he fallado en la guía de estilo perdonaran es mi primera participación). olvida decir que tengo delphi 7 Enterprise,

Casimiro Notevi 16-08-2016 20:56:35

¿En qué parte necesitas ayuda?
Yo no entiendo mucho de ese tema, pero otros compañeros podrán ayudarte.

fqm33 16-08-2016 21:04:31

gracias por la respuesta tan rápida. necesito que delphi me lea la fila de excel, llene el formulario de la pagina web, con esto la pagina me genera dos datos, esos datos necesito llevarlos a la hoja de excel a la misma fila del archivo de origen. ademas dentro del formulario hay una lista desplegable, para elegir una opcion (siempre es la misma), y se deben dar click a un botón, (muy complicada la explicación?). gracias.

Casimiro Notevi 16-08-2016 21:08:55

Si está claro lo que quieres conseguir. Mi pregunta era más bien en qué parte necesitas ayuda. Qué no sabes hacer de eso.
Divide el trabajo en pequeñas partes y ve haciendo cada una, no pienses como un "todo". Primero busca cómo conectar a una web. Cuando lo consigas busca cómo descargar el excel. Cuando lo consigas... etc. etc.
Paso a paso.

fqm33 16-08-2016 21:26:07

Gracias Casimiro; pues se traer los datos de excel a un grid o DBgrid, se escribir los datos a excel, pues he hecho algunas aplicaciones locales que lo hacen; pero nunca me he conectado a una pagina web desde delphi. de nuevo gracias por el interés

bitbow 16-08-2016 21:28:29

Creo que es uno de los pocos casos en que te recomendaria Intraweb y desde ahi haces todo.

Casimiro Notevi 16-08-2016 21:32:43

Cita:

Empezado por fqm33 (Mensaje 507768)
.pero nunca me he conectado a una pagina web desde delphi

Bien, pues eso te preguntaba, que especificaras exactamente qué necesitas. Por cierto, no olvides leer nuestra guía de estilo, gracias.

Haz una búsqueda en los foros por este concepto.

fqm33 17-08-2016 02:19:30

buenas gracias a todo, siguiendo la sugerencia de bitbow, he encontrado un manual de intraweb, esta en ingles,ya comencé a leerlo a ver como me va, muchas gracias, por el gran interés de parte de ustedes.
en otro lugar encontré como abrir una pagina web con shellExecute, me abre perfecto pero ahora el siguiente paso es poder entrar el usuario y la contraseña (estos dos datos cambian cada vez pues son suministrados por un token, por lo tanto se deben dar directo en la pagina), y ahora en vez de una pregunta, tengo dos, la primera Shellexecute es el camino correcto? (sus opiniones por favor), y la segunda como hago para que el foco vaya al campo de usuario de la pagina web. muchas gracias.

fqm33 17-08-2016 03:53:42

buena noches, les comento que siguiendo con el ShellExecute, ya solucione lo del usuario y contraseña, pero ahora debo dar click en una opción del menú que se llama "captura cliente por Crédito", ya baje el código fuente, sin embargo la duda es como se donde esta esa opción pues en el código fuente no aparece ningún texto así.

les voy contando paso a paso como voy avanzando pues como soy nuevo en esto de la WEB, cualquier aporte para mi es valioso,
muchas gracias,

mamcx 17-08-2016 20:19:27

No veo que pinta intraweb aqui.

Lo que fqm33 esta pidiendo es como hacer web scrapping o automatizacion web.

Primero que todo, es usando ese formulario la unica forma? Seria ideal si pudieras hacer un api para ello.

De lo contrario, tienes es que saber como parsear HTML y hacer llamadas POST & GET.

fqm33 18-08-2016 01:30:09

Gracias mamcx, algún manual que me puedas recomendar, y una pregunta es ShellExecute el camino, o reinicio por otro?, pues les cuento que ando bastante confundido con este tema, que no he podido cogerlo como es, de nuevo gracias a todos,

Delphius 18-08-2016 04:37:54

Con los Indy puedes hacer el trabajo.
Básicamente le indicas a un TidHTTP la página a navegar (en lo posible utilizar sólo GET pero quizá en alguna parte necesites enviarle un POST) y luego interpretas el HTML devuelto. Puedes usar algún Parser de HTML, o bien hacer el trabajo a mano.
El truco está en pasarle a la URL los parámetros que solicita del formulario. Básicamente la URL espera algo como: http://www.lapagina.php?param1=valor....paramN=valorN

Utiliza las herramientas que tanto Firefox como Chrome ofrecen.
La parte más complicada es pasar la seguridad de usuario y contraseña. Existe la posibilidad que los datos pasados a los parámetros en este etapa no vayan en texto plano. Vas a tener que hacer un poco de ingeniería inversa a la página ;) Si no logras sortear esa etapa es muy poco probable que puedas ir al 2do paso que es en última lo que necesitas. Si el sitio está bien diseñado, e implementa una buena seguridad hasta es probable que todo viaje de forma cifrada.

Si el sitio ofreciera un WebService la cosa sería más llevadera y relativamente más sencilla.

Saludos,

fqm33 19-08-2016 20:59:42

gracias a todos, había olvidado algo muy importante, y es que la pagina a la que quiero acceder solo funciona con Interner Explorer, voy a tratar con las Indy aunque reconozco que no se nada al respecto pero me voy a documentar, por los comentarios que ustedes han hecho supongo que el shellexecute no es el camino indicado?.
muchas gracias.

Casimiro Notevi 19-08-2016 21:22:14

Cita:

Empezado por fqm33 (Mensaje 507918)
... la pagina a la que quiero acceder solo funciona con Interner Explorer...

¿Existe algo así?

Delphius 19-08-2016 22:32:55

Cita:

Empezado por Casimiro Notevi (Mensaje 507919)
¿Existe algo así?

Pues si... y no necesito irme demasiado lejos, te podría citar por ejemplo la página de un organismo público que queda a 8 cuadras de mi casa. La página brinda un servicio de mucha importancia para los agrimensores e ingenieros civiles de acá y se ven condicionados a emplear IE para poder utilizarlo.
Es más, hasta da problemas en versiones nuevas de Windows. En XP funciona bien, mientras que en Windows Vista y 8 tiene sus fallos y en ocasiones hace falta recargar la página varias veces para poder acceder. Todo esto por culpa de un maldito plug-in que fue diseñado para IE6 y nunca más se renovó ni el Depto de dicho Organismo se calentó en migrar las cosas a una mejor tecnología.
Como yo tengo contacto con varios de los profesionales que consultan al organismo de vez en cuando recibo llamadas por problemas por eso, y tengo que responder que lamentablemente no depende de mi.
Hace no mucho también me reportaron que otro de los servicios que brindan, empezó a dar problemas en Windows superiores a XP. Es algo curioso ya que ese servicio al menos podía usarse en otros navegadores... pero se ve que el Depto de Informática del organismo a estado trasteando algo.

Estas cosas pasan cuando un gobierno decide tranzar con Microsoft.

También lo hace la Dirección de Rentas de la provincia, y se que algunos sistemas y servicios web de la AFIP también funcionan con tecnología basada en IE y dan problemas con otros navegadores.

Saludos,

Casimiro Notevi 19-08-2016 22:35:51

Sí, pero una cosa es que dé problemas y otra es que no se pueda acceder.

Delphius 19-08-2016 22:41:25

Cita:

Empezado por fqm33 (Mensaje 507918)
gracias a todos, había olvidado algo muy importante, y es que la pagina a la que quiero acceder solo funciona con Interner Explorer, voy a tratar con las Indy aunque reconozco que no se nada al respecto pero me voy a documentar, por los comentarios que ustedes han hecho supongo que el shellexecute no es el camino indicado?.
muchas gracias.

Si sólo anda con IE, no te puedo garantizar que tanto sea posible hacerlo con Indy... Se supone que Indy no depende de IE ni lo emula. Desde Indy 10 pone esfuerzo en ser multiplaforma ya que es compatible con Lazarus, y éste es Multiplataforma.

Tienes algo de chances mientras el uso de dicho sitio no haga usos de complementos o plug-ins, etc que sean propios de IE. Pero yo no te garantizo nada.

Saludos,

Delphius 19-08-2016 22:47:37

Cita:

Empezado por Casimiro Notevi (Mensaje 507922)
Sí, pero una cosa es que dé problemas y otra es que no se pueda acceder.

Para los casos que yo cité es lo mismo. Logres o no, acceder, da problemas. En ocasiones logras entrar con la cuenta, pero quieres usar un servicio y pum. En otras ni entras.

Te condicionan a usar IE.

Saludos,

Casimiro Notevi 19-08-2016 23:37:29

A ver si fqm33 nos indica la página que es, y la probamos.

fqm33 20-08-2016 00:18:15

buenas tardes, me explico el sistema funciona en otros navegadores pero cuando entramos a las opciones tiene fallos de manera recurrente si no es IE. por eso solo se usa IE.
señores noto el interés por ayudarme y lo agradezco, entonces ahora por favor orientenme estudio las Indy, sigo con shellExecute, Intraweb?, que seria lo mas recomendable? en su experiencia, de nuevo muchas gracias.


La franja horaria es GMT +2. Ahora son las 02:10:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi