Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Como abrir una pagina web desde Delphi enviandole parametros POST? (https://www.clubdelphi.com/foros/showthread.php?t=68794)

flystar 07-07-2010 16:34:58

¿Como abrir una pagina web desde Delphi enviandole parametros POST?
 
Hola Amigos:

¿Alguién sabe como abrir una página web desde Delphi enviándole parámetros POST?

Normalmente lo que hago es mandarla llamar desde delphi de esta forma:

ShellExecute(Handle,
'open',
'http://www.countier.com.mx/Actualizacion.php?parametro=uno',
nil,
nil,
SW_SHOW);

Como pueden ver, podría enviar uno parámetro por vía "get", pero si por razones de seguridad los quisiera enviar vía post?

A lo mejor aquí ya no va a servir el asunto y tiene que ser de otra forma.

¿Alguién sabe otra forma? Gracias.

movorack 07-07-2010 20:57:14

en trucos habia una rutina para llamar una web y pasarle parametros por post.

un dia la llegue a usar... si la encuentro te la paso por acá mismo. :D

flystar 07-07-2010 21:25:28

Gracias
 
Muchas gracias voy a ver si lo encuentro ahi..
Es que en los post viene como abrir una página web
con parametros get pero no con post.

flystar 07-07-2010 22:08:35

Problema con el sitio
 
Huchales..los trucos no se ven

movorack 08-07-2010 03:13:11

ok... encontré el archivo y ahi te lo paso... :D

No recuerdo quien es el autor pero estaba en los trucos (lastima esté deshabilitada la seccion) pero si te digo que me funcionaba muy bien.

Incluyes la unidad en los uses...

Código Delphi [-]
uses
  ... UTHttpRequest ...

y luego puedes usarla con una función así:

Código Delphi [-]
function GetContent(URLServer, URLResource, URLVars : String; URLVarsSeparator : Char = ',') : TStringList;
var HTTPRequest : THttpRequest;
    HTTPFormFields, ResultStringList : TStringList;
    Stream : TMemoryStream;
begin
  HTTPRequest := THttpRequest.Create;
  Stream := TMemoryStream.Create;
  HTTPFormFields := TStringList.Create;
  ResultStringList := TStringList.Create;
  try

    //Variables URL.
    HTTPFormFields.Delimiter := URLVarsSeparator;
    HTTPFormFields.Text := URLVars;

    //Accion en Internet. (Aqui puedes manejar el post en lugar del get)
    HTTPRequest.Get(URLServer+URLResource, Stream, HTTPFormFields);

    //Manejar el resultado.
    Stream.Position := 0;
    ResultStringList.Clear;
    ResultStringList.LoadFromStream(Stream);

  finally
    HTTPRequest.Free;
    Stream.Free;
    HTTPFormFields.Free;
  end;

  Result := ResultStringList;
end;

Espero que halla sido de ayuda.

saludos.

flystar 08-07-2010 15:23:27

Gracias hermano.

Lo que no veo aquí es que abra el navegador con la página en si.

Saludos

movorack 08-07-2010 16:33:30

Con esta rutina no abres el navegador... tu mismo programa hace la navegación.

El resultado de la función anterior son unas lineas que componen en realidad la pagina web.

dado 08-07-2010 23:11:26

Para abrir una pagina web EN DELPHI hay un componente llamado TWebBrowser.

Pero insisto, en Delphi.

Yo creo que va a ser muy complicado lo que necesitas. Que Delphi le envie la "instruccion" al Internet Explorer de abrir un URL y enviarle parametros Post

Puedes en Delphi hacerlo todo, abrir un URL con parametros Post y mostrarlos con el componente que menciono, pero de eso a "controlar remotamente" el IE........

dado 08-07-2010 23:13:49

Ah! o se me ocurre, dice movorack que la funcion te regresa la pagina en un TString, lo que puedes hacer es grabarla en un archivo local y ahora si, mandar que el I.E. abra ese archivo......de forma local por lo menos para mostrar los resultados del Post


La franja horaria es GMT +2. Ahora son las 20:51:44.

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