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

 
 
Herramientas Buscar en Tema Desplegado
  #18  
Antiguo 06-05-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Como aun no he podido instalar el SOAP en delphi 5 (Casimiro Notevi y yo no perdemos la esperanza ), he estado buscanco mas informacion sobre el componente de indy TidHTTP y he conseguido realizar "post" y "get" al Web Service que me quería conectar. Os pongo el codigo utilizado para cada uno:

Código:
procedure TForm1.Get(Sender: TObject);
begin
http.Request.Username:='user';
http.Request.Password:='pass';
showmessage(http.Get('http://apidelproveedor.com'));

//esto funciona y devuelve un fichero xml con la informacion que solicito.
end;
Código:
procedure TForm1.post-subiendofichero(Sender: TObject);
var
  datos: TIdMultiPartFormDataStream;
begin      
http.Request.Username:='user';
http.Request.Password:='pass';
datos:= TIdMultiPartFormDataStream.Create;
datos.AddFormField('description','prueba');
datos.AddFormField('comments','comentario sobre el documento');
datos.AddFormField('reference','3');
datos.AddFile('file','C:\firmar1.pdf','application/pdf');

showmessage(http.Post('http://apidelproveedor.com', datos));

datos.free;
end;
Código:
procedure TForm1.post-sinenviarfichero(Sender: TObject);
var
  aStream: TMemoryStream;
  Params: TStringStream;
begin         
http.Request.ContentType:='application/x-www-form-urlencoded';
http.Request.Username:='user';
http.Request.Password:='pass';

aStream := TMemoryStream.create;
Params := TStringStream.create('');

try
    Params.WriteString('name=' + 'pepe' + '&');
    Params.WriteString('email=' + 'pep@hotmail.com' + '&');
    Params.WriteString('id-country=' + 'ES' + '&');
    Params.WriteString('id-number=' + '44444444P');
    with HTTP do
    begin
      try
        HTTP.Post('http://apidelproveedor.com', Params,aStream);
      except
        on E: Exception do
          showmessage('Error encountered during POST: ' + E.Message);
      end;
    end;
    aStream.WriteBuffer(#0' ', 1);
    showmessage(PChar(aStream.Memory));
  except
  end;

params.free;
aStream.free;
end;
Pero ahora tengo otra duda. En la api del proveedor me indica que mediante el "post" creo un documento en mi cuenta (esto correcto como he indicado arriba) y para borrar un documento me indica que debo utilizar la operación "delete". Pero no encuentro ninguna acción "delete" en el componente TidHTTP. Tiene otro nombre? Como podría hacer esta operación?

Gracias por sus comentarios, me estan sirviendo de mucho.

Saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
 



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
Socket Error # 10054 con TIdHTTP rolandoj Internet 10 19-01-2012 15:45:11
Ayuda urgente con Indy TIdHTTP Pugile C++ Builder 1 17-03-2011 12:21:04
TIDHTTP Con User y Pass Neeruu Varios 0 28-12-2009 13:36:49
Como pasar de TidHTTP con TWebModule a Web Service con XML ? rolandoj Internet 1 20-10-2008 17:45:48
TIdHTTP, dlls.... betto Internet 3 27-03-2007 21:49:03


La franja horaria es GMT +2. Ahora son las 12:43:39.


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