Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-07-2010
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 15
sitrico Va por buen camino
Error al descargar actualizacion de mi aplicacion

Al intentar realizar la actualización de una aplicación desde internet me arroja el error: 'HTTP/1.1 301 Moved Permanently'

La actualizacion funcionaba perfecto hasta hace almenos 3 meses, pero de pronto dejo de funcionar. No he modificado ni recompilado el ejecutable y los url de descarga son válidos.

url actual:
http://www.iva32.150m.com/Iva32/VersionActual.ini

Si desde el explorador descargo el arhivo (firefox 3.6.6) descarga perfecto pero desde la aplicación no.

IdHttp es un componente de Indy 10, no estoy seguro de que version exactamente.

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.Get(Origen,Stream); // error
//   IdFTP1.Get(Origen,Stream); // prove tambien con IdFTP
   tDescargado := tDescargado + Stream.Size;
finally
   Stream.Free;
   end;
end;

El error se produce en la linea del Get

Gracias de verdad estoy perdido con ese error.
__________________
Sitrico
Responder Con Cita
  #2  
Antiguo 11-07-2010
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 449
Poder: 12
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 02:28:58. Razón: Añadida propiedad "HandleRedirects"
Responder Con Cita
  #3  
Antiguo 13-07-2010
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 15
sitrico Va por buen camino
Mil gracias xEsk, la verdad yo no lo veia tan claro Ya funciona otra vez.
__________________
Sitrico
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Error en la actualización en cascada JosepGA SQL 3 07-11-2007 09:38:14
Error en actualizacion de archivos lgarcia Varios 2 08-06-2007 20:21:57
Descargar y ejecutar aplicacion desde el navegador coulthard Linux 0 23-12-2004 19:40:08
Opinion Actualizacion Aplicacion Jvilomar Varios 4 15-11-2004 22:14:52
Error de actualizacion con DataSet Luis Conexión con bases de datos 1 23-10-2004 09:49:25


La franja horaria es GMT +2. Ahora son las 14:04:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi