Ver Mensaje Individual
  #1  
Antiguo 22-04-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Reputación: 21
URBANO Va por buen camino
Question TIdHTTP - Como me autentifico

Hola, necesito utilizar desde mi programa realiazo en delphi5 unos web services. Esto es algo nuevo para mi. He estado leyendo algunos hilos, recopilando información y he realizado el siguiente codigo de prueba utilizando un componente Indy.

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  http: TIdHttp;
  respuesta: string;
  datosPost: TIdMultiPartFormDataStream;
begin
  http:= TIdHTTP.Create(Self);
  http.Request.Username:= 'usuario';
  http.Request.Password:= 'clave';
  datosPost := TIdMultiPartFormDataStream.Create;
  try
   datosPost.AddFormField('description', 'ejemplo1');
   datosPost.AddFormField('comments', 'firmar documento de prueba');
   datosPost.AddFormField('reference', '1');
   datosPost.AddFormField('file', 'C:\firmar1.pdf');

   respuesta := http.Post('www.direcionwebservice', datospost);
  finally
    http.Free;
    datospost.free;
  end;

  showmessage(respuesta);

end;
Según me comenta el proveedor del web services (me ha facilitado la estructura de los datos que debo incluir en el post) antes de realizar el post hay que autentificarse según la autenticación HTTP básica estándar. Por lo que he leido he entendido que esto lo realiza directamente el componente indy y únicamente tengo que pasarle el usuario y la clave, como pongo en el codigo de ejemplo, pero algo debe estar mal, ya que al ejecutar el codigo me lanza el siguiente error: "HTTP/1.1 401 Unauthorized."
Parece ser que no me autentifico correctamente, pero el usuario y la clave son correctos, ya que si pongo la direccion del servicio en un navegador, me sale una ventana pidiendo usuario y clave, introduzco las mismas que pongo en el código y si accedo al web services.

Seguro que es un error sencillo, pero es la primera vez que utilizo las indy y que realizo conexiones web services. Alguién prodría orientame un poco.

Gracias y saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita