Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Enviar archivo XML por http

Hola, me gustaría saber cómo puedo enviar un documento XML mediante http.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 12-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿Podrías ser un poco más descriptivo?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-03-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Sí, el caso es que me han aconsejado que para enviar información a un servidor web es mejor que utilice un documento XML con los campos que quiera enviar y que lo haga por http, actualmente estoy haciéndolo mediante sockets por TCP y mediante campos de texto separados por un caracter especial.

Es decir: <Campo1><CaracterEspecial><Campo2><CaracterEspecial><Campo3>

Y me gustaría saber cómo llevar a cabo la opción de XML + http

Saludos.
Responder Con Cita
  #4  
Antiguo 13-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Inicia un nuevo proyecto y añade en el formulario principal un "TMemo", un "TButton" y un "TIdHttp". Con el siguiente código estarías enviando un archivo mediante una petición HTTP POST, algo que pone muy sencillo el componente "IdHttp" y alguna clase auxiliar, como verás:

Código Delphi [-]
uses
  IdMultipartFormData;

procedure TForm1.Button1Click(Sender: TObject);
var
  response: TStringStream;
  postData: TIdMultipartFormDataStream;
begin
  response := TStringStream.Create(EmptyStr);
  postData := TIdMultiPartFormDataStream.Create();
  try
    postData.AddFile('file', 'C:\archive.xml', 'application/octet-stream');
    try
      IdHTTP1.Post('http://localhost/upload.php', postData, response);
      Memo1.Text := response.DataString;
    except
      on E: Exception do begin
        ShowMessage(E.Message);
      end;
    end;
  finally
    response.Free();
    postData.Free();
  end;
end;

En el caso de que quien recibiese la petición fuera un "script" PHP, dispondrías de la información del archivo en la variable $_FILES. En el caso de que fuera un "script" escrito en otro lenguaje, tendrás que investigar, pero, por ahí deben ir los tiros.

PD. El código de arriba se basa en este otro, que, encontré (junto a otros resultados) buscando por ahí.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 13-03-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Muchas gracias, voy a probar y te cuento.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
enviar un archivo solo con la IP de la pc kurono Varios 13 01-02-2009 10:39:18
Con Indy 10.1.5 ¿Transferencias de archivo avanzadas con HTTP y ftp? JXJ Varios 1 07-07-2008 18:21:40
enviar archivo audio jeyco Internet 6 28-03-2007 03:49:43
enviar archivo por e-mail karocs Internet 2 16-06-2006 03:17:01
Enviar imagen o archivo por socket DarkByte Internet 5 11-09-2003 15:16:16


La franja horaria es GMT +2. Ahora son las 06:34:53.


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
Copyright 1996-2007 Club Delphi