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 06-04-2007
voci voci is offline
Miembro
 
Registrado: Oct 2003
Posts: 52
Poder: 16
voci Va por buen camino
Descargar archivo con redirección

Saludos a todos, estoy intentando bajar un archivo de una página, debo decir que el navegador lo descarga sin falta de ninguna intervención.

Como no se si está permitido escribir la dirección de la web no la pongo directamente, además la web necesita trabajar con una cookie de sesión y por supuesto utiliza el método de redireccionamiento.

Este es el código que implemento:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  IdHttp: TIdHttp;
  Contenido: TMemoryStream;
  Url: String;
Begin
  Contenido := TMemoryStream.Create;
  IdHttp.HandleRedirects := true;
  IdHttp.AllowCookies := true;
  Url:='http://xxxxxx.com?id=xxxxxxx&key=yyyyyyy';
  IdHttp.Get(Url, Contenido);
  Contenido.SaveToFile('C:\archivo.rar');
  Contenido.Free;
  IdHttp.Free;
end;
Pero cuando miro el archivo creado veo que es el código html de la página web donde se encuentra la descarga en vez del archivo propiamente dicho.

Gracias a todos.

Última edición por voci fecha: 09-04-2007 a las 14:35:59.
Responder Con Cita
  #2  
Antiguo 06-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: Feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 18
seoane Va por buen camino
El problema puede ser que la descarga del archivo se inicie por medio de javascript, como el componente TIdHttp no interpreta el contenido de lo que descarga y mucho menos los scripts que contiene, no es capaz de iniciar la descarga del archivo.

Lo primero seria saber como se inicia realmente esa descarga, para eso analiza el código fuente de la pagina web. Si aun así no encuentras lo que buscas, utiliza un proxy para analizar la comunicación entre el navegador y el servidor web. Un buen proxy es http://www.fiddlertool.com/
Responder Con Cita
  #3  
Antiguo 08-04-2007
voci voci is offline
Miembro
 
Registrado: Oct 2003
Posts: 52
Poder: 16
voci Va por buen camino
Estoy mirando la comunicación entre el navegador y el servidor web con el programa que comentas, de momento no he conseguido aclarar nada pero sigo intentando comprender alguno de los parámetros que devuelve dicho programa.

Gracias.
Responder Con Cita
  #4  
Antiguo 09-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: Dec 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.654
Poder: 27
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tengo dudas acerca de lo que entendemos como "redireccionamiento". Si se trata de que al acceder a un determinado recurso de la Red, el Servidor indica que este se encuentra en otro lugar, al que se dispone a redireccionarnos, si se trata de esto, digo, el propio componente "TIdHttp" puede hacerse cargo de las redirecciones HTTP:

Código Delphi [-]
IdHTTP1.HandleRedirects := true;

Incluso podemos especificar un máximo de redirecciones antes de considerar perdido al archivo que requerimos:

Código Delphi [-]
  IdHTTP1.RedirectMaximum := 5;
  IdHTTP1.HandleRedirects := true;
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #5  
Antiguo 09-04-2007
voci voci is offline
Miembro
 
Registrado: Oct 2003
Posts: 52
Poder: 16
voci Va por buen camino
Si, precisamente a eso me refiero, he credo un simple programa que utilizo para descargar pequeños ficheros y cuando falla la descarga, como es el caso de esta dirección intentar comprender el motivo.

Lo que comentas lo tengo contemplado en el código, bueno el RedirectMaximum lo he elevado un poco:

Código Delphi [-]
IdHTTP1.RedirectMaximum := 15;

Gracias por el interés.
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
¿Cómo descargar Archivo de Muchas Fuentes? JXJ Varios 3 14-03-2007 03:09:08
Copiar/Descargar Archivo en Página Web AGAG4 Internet 5 11-10-2004 18:26:42
Descargar DBE brandolin Conexión con bases de datos 4 15-05-2004 04:07:21
descargar una extencion migueilichenco Internet 1 28-11-2003 22:23:50
Problemas al descargar un archivo Mauro® Internet 2 23-10-2003 23:21:28


La franja horaria es GMT +2. Ahora son las 06:07:04.


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