Como enviar XML para um HTTP POST

Delphi

07/10/2008

Como faço para fazer este procedimento:
Para tanto, o HTTP POST deverá ser enviado para o seguinte endereço:
http://cliente.dispara.com.br/post/message.asp


estrutura do arquivo XML:

DISPARA>
<USERNAME>nonononono</USERNAME>
<PASSWORD>nonononono</PASSWORD>
<GROUP_MSG>
<MSG>
<MSG_ID>NNNNNNN</MSG_ID>
<MSG_MISN>DDNNNNNNNN</MSG_MISN>
<MSG_STR>nonononononononononononononnono</MSG_STR>
</MSG>
</GROUP_MSG>
</DISPARA>

Estou utilizando D7/Interase.


Obrigado.


Walter Faria

Walter Faria

Curtidas 0

Respostas

Walter Faria

Walter Faria

07/10/2008

Eai pessoal ninguem poderia me ajudara?


GOSTEI 0
Prgdelphi

Prgdelphi

07/10/2008

Olá walter,

pelo que entendi vc quer dar um post em um website... para isso vc tem que usar o TIdHTTPclient, da paleta indy.

O uso dele é bem simples, mas você tem que verificar o site no qual vai fazer o post, para identificar todos os parametros que ele solicita do browser para que seja concluido com sucesso.

Esse XML que você tem que enviar, provavelmente deva ser um desses parametros do post.

Sabendo os parametros, vc cria um TStringList para armazena-los.
Cria também um TStream para armazenar o resultado do post. Mais ou menos assim:

Procedure efetuaPost;
var Parametros : TStrings;
      Resultado : TMemoryStream;
begin
  Parametros := TStringList.create;
  Resultado := TMemoryStream.create;
  try
    Parametros.add(´parametro1=valor1´);
    Parametros.add(´parametro2=valor2´);
    Parametros.add(´parametro2=valor2´);   
    IdHttp1.post(´http://cliente.dispara.com.br/post/message.asp´,Parametros,Resultado);
    Resultado.savetofile(´c:\Resultado.html´);
  finally
    FreeAndNil(Parametros);
    FreeAndNil(Resultado);
  end;
end;


Algo mais ou menos assim.....


GOSTEI 0
POSTAR