Ver Mensaje Individual
  #2  
Antiguo 11-07-2010
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Reputación: 19
xEsk Va por buen camino
Hola,

El error es muy claro: "HTTP/1.1 301 Moved Permanently" significa que el contenido que buscas no se encuentra en esta URL, pero la propia respuesta HTTP debería darte dónde se puede encontrar el contenido (parámetro Location).

Hace mucho tiempo que no uso los Indy, pero debería haber alguna propiedad que hable de los "redirects" o algo por el estilo.

En caso de que no existiera una propiedad parecida a esto, deberás hacerlo de forma manual, capturando el parámetro Location y hacer un GET a esa URL.

Saludos.

Edit: La propiedad que te comentaba se llama "HandleRedirects", debes poner esta propiedad a True, y en principio, se debería de solucionar el problema.

Ejemplo:
Código Delphi [-]
procedure TfActualizacionOnLine.Descargar(Origen,Destino:String);
Var
Stream: TFileStream;
begin
If FileExists(Destino) then
   SysUtils.DeleteFile(Destino);
Stream := TFileStream.Create(Destino, fmCreate);
try
   IdHTTP.HandleRedirects := True; // activamos los "saltos" automáticos (errores 3xx)
   IdHTTP.Get(Origen,Stream); // error
   tDescargado := tDescargado + Stream.Size;
finally
   Stream.Free;
   end;
end;

Última edición por xEsk fecha: 11-07-2010 a las 01:28:58. Razón: Añadida propiedad "HandleRedirects"
Responder Con Cita