Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mandar texto a una pagina web (https://www.clubdelphi.com/foros/showthread.php?t=72168)

Gean 01-02-2011 17:47:11

Mandar texto a una pagina web
 
Buenas, tengo una duda, de un memo de mi programa, puedo enviar el texto a una pagina web? a un edit, o a otro memo contenido en ella?
Si es posible, se podría simular una pulsación el botón "Enviar" del formulario de la pagina web? Un saludo, gracias de antemano :-).

roman 01-02-2011 18:15:48

Te recomiendo que leas este mensaje y, posteriormente, el hilo al cual pertenece ese mensaje.

// Saludos

Neftali [Germán.Estévez] 01-02-2011 18:51:18

¿Cual es la página web?
¿Qué campos envía?

Gean 01-02-2011 18:56:18

Gracias, eso es justamente lo que quiero, solo no me queda clara una cosa, en el caso que me pasas, sale el form action, pero en mi caso no lo veo en ninguna parte, es este boton el que hay que apretar:
Código:

<input type="submit" name="ctl00$cntContenido$btnCompactar" value="Compactar" id="ctl00_cntContenido_btnCompactar" class="btn">
Asi que no se muy bien como relacionar la informacion que me pasa

Me edito:
Lo siento, no me fije bien en el evento, no esta en el botón, sino en el formulario, seguiré investigando a ver si lo consigo :)

Gean 01-02-2011 18:57:19

Cita:

Empezado por Neftali (Mensaje 389546)
¿Cual es la página web?
¿Qué campos envía?

http://www.toolsforogame.com/battle/...aspx?idi=es-es
Esa es la pagina web, mi idea es pegar datos en el primer memo que aparece, y luego simular el click en compactar

Gean 01-02-2011 19:36:46

Bueno, he avanzado bastante gracias a roman y al codigo de neftali, solo me queda una duda, por lo que veo el TIdMultiPartFormDataStream sirve para subir archivos, pero si yo solo quiero enviar texto como lo hago? muchas gracias :)

Gean 03-02-2011 13:25:23

Sigo atascado en lo de enviar texto y no archivos, alguien me puede ayudar porfavor :(?

roman 03-02-2011 15:33:39

Deberías buscar más. Aquí hay un ejemplo que envía texto sin archivos.

// Saludos

Gean 03-02-2011 16:10:26

Muchas gracias, el caso es que vi ese ejemplo hace tiempo, y no me dio por pensar en ello. Mira, este es el codigo que yo uso para mandar el texto:
Código Delphi [-]
procedure TForm2.btn1Click(Sender: TObject);
var
  Fields: TStrings;
  Response: String;
  I: Integer;
begin
IdHTTP := nil;
Fields := nil;
  try
    IdHTTP := TIdHTTP.Create(nil);
    Fields := TStringList.Create;
    Fields.Values['ctl00$cntContenido$txtInforme'] := mmo1.Text;
  try
  Response := idHttp.Post('http://www.toolsforogame.com/battle/compactador_de_batallas.aspx?idi=es-es', Fields);
  mmo2.Text := Response
  finally
  idHttp.Free;
  end;
finally
Fields.Free;
end;
end;
Y me devuelve el codigo de la pagina entera, pero sin el combate compactado. Me he estado fijando, y al parecer esa pagina usa un javascript para compactar la batalla, tendria que hacer algo mas para que funcionase? Es que no veo mi error, enserio

Saklut 07-02-2011 14:05:51

Deberías utilizar un snifer (por ejemplo el Wireshark) para ver qué datos envía exactamente el POST, y tratar de hacerlo igual.

Le he dado un vistazo y envía más cosas aparte del informe.

Gean 07-02-2011 20:59:11

Um, muchas gracias por la información, le echare un vistazo a ver, aunque se me hace extraño que envíe algo mas. Gracias! :)

roman 08-02-2011 17:02:10

En Firefox puedes instalar la extensión "Web Developer", con la cual te será muy sencillo examinar los campos que componen un formulario. La extensión es muy útil para muchas otras cosas relacionadas con el desarrollo Web.

Toma en cuenta que no siempre es tan sencillo automatizar un formulario HTML porque en muchos casos el servidor genera un determinado campo oculto (token) que envia al navegador al momento de presentar el formulario. Dicho campo lo lee de vuelta cuando recibe el POST para cerciorarse que dicho POST es "bueno".

En esos casos, no bastaría con mandar ti propio POST. Tendrías que obtener con GET la página del formulario, leer dicho campo y cualquier otro que mande el servidor, y enviarlos en el POST junto con el resto de datos.

// Saludos


La franja horaria es GMT +2. Ahora son las 18:34:10.

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