Ver Mensaje Individual
  #4  
Antiguo 02-07-2018
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola todos,

El componente "HttpCli", si no me equivoco, es similar al componente "IdHttp", y, ambos son "clientes HTTP", es decir, permiten realizar peticiones HTTP desde nuestros programas. Ahora bien, esto que dices:

Cita:
Empezado por darkbits
quiero enviar modificar y eliminar y leer tablas o llenar un formular de la web y enviarlo pero todo desde delphi
... no se entiende muy bien, en mi opinión. Con el componente "HttpCli", como con cualquier otro "cliente HTTP", vas a poder hacer peticiones HTTP desde tu programa a determinado un servidor. Nada te impide enviar en la petición HTTP tantos pares de "clave/valor" como te sea preciso, esto es, por ejemplo, para actualizar una determinada tabla de una base de datos, o bien para insertar un nuevo registro, borrarlo, etc.

Pero, no estoy seguro de que lo que quieres hacer sea algo así, porque, desde luego, ningún "cliente HTTP" te va a permitir "llenar un formulario de la web y enviarlo". Los formularios de las páginas web terminan haciendo peticiones HTTP también (cuando se envían), de modo que podrías acaso crear una petición HTTP que "simulase" dicho formulario.

Pero, eso es una cosa, y, "llenar" un formulario existente en un sitio web desde Delphi, tal vez sea posible (sobre todo si usas el componente "WebBrowser" u otro similar dentro de tu propio programa, de modo que puedas comunicarte con el documento "cargado" en dicho componente "WebBrowser"), pero, ningún "cliente HTTP" va a rellenar formulario alguno, porque, queda fuera de su propósito completamente.

La verdad es que no soy ningún experto en cuanto a trabajar con documentos HTML desde Delphi. Seguramente, puedan usarse diferentes técnicas. Una de ellas es la que yo he apuntado: cargar el documento o página web en un componente "WebBrowser" dentro de nuestro programa, y, trabajar con dicho documento mediante Delphi y Javascript.

Otra posible técnica para hacer lo que creo que quieres podría ser un programa que emulase tanto el ratón como el teclado del usuario, esto es, que pudiese guardar y reproducir después una secuencia de movimientos de ratón y pulsaciones del teclado, de forma que, ahora sí, se enviase el formulario HTML que quieres... pero, porque se haría tal como si lo hiciese un usuario.

No sé si hay otras técnicas de interactuar desde Delphi con páginas web. En todo caso, hay un tema importante a tocar aquí: un formulario HTML puede estar compuesto de manera de evitar que se hagan peticiones HTTP similares, es decir, en una palabra, evitar, precisamente, este tipo de automatizaciones.

En otras palabras, si estamos hablando de un formulario de tu propio sitio web o que tú puedes cambiar, entonces, será más o menos sencillo preparar una petición HTTP que sea igual que la del formulario, de modo que, en realidad, hacer dicha petición, será igual que enviar el formulario, pero, sin necesidad de hacer esto último.

Si lo que pretendes es enviar el formulario de un sitio web que no es tuyo, que pertenece a un tercero... debes contar conque acaso este tercero no te lo ponga fácil, y, hasta cierto punto es comprensible, pues, tal vez este tercero quiere que sus usuarios envíen el formulario "de verdad", por decirlo así, desde su sitio web, y, no desde cualquier otro.

En fin, no sé si todo esto te sirve de algo o no, pero, creo que yo, como no tengas otras preguntas... hasta aquí puedo llegar ahora mismo. Como ha dicho un compañero más arriba, si explicas un poco más lo que necesitas y quieres hacer, tal vez yo mismo o algún otro compañero pueda intentar echarte una mano.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita