Club Delphi  
    Paypal   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

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2006
lpedrazzi lpedrazzi is offline
Miembro
 
Registrado: sep 2005
Posts: 33
Poder: 0
lpedrazzi Va por buen camino
Estuve usando idhttp pero cuando llego al link no esta directamente el archivo para descargar por ej http://www.sitioweb.com/archivo.zip sino que solo tengo la url donde estaria el archivo ej: http://www.sitioweb.com/nn?cmd=downl...m=12941&prod=4 probe con urlmon y descarga cualquier cosa.
Responder Con Cita
  #2  
Antiguo 13-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No debería haber problema en ese sentido con el componente "IdHttp". Es decir, al componente le da igual que el archivo esté en la URL "http://www.pepe.com?archivo=322", siempre que esa URL al cabo lleve al recurso que nos interesa. Si al cabo esta última URL retorna el archivo que te interesa descargar, el componente "IdHttp" lo descargará sin problemas. Vamos, o estoy completamente equivocado, que me parece que no, en este caso, pero, todo puede ser.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El sitio web en cuestión, ¿requiere algún tipo de autenticación? Hace poco se comentó esto ya que tales sitios suelen manejar una cookie y tu coomponente IdHttp deb poder procesarla.

// Saludos
Responder Con Cita
  #4  
Antiguo 13-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Puede que el problema no sea la dirección si no la Sesión o las Cookies. Si copias y pegas directamente esa dirección en un navegador ¿puedes bajar el archivo?, o por el contrario necesitas abrir primero otra pagina para poder acceder a la descarga del archivo. Si es así, date una vuelta por el hilo de Automatización Web del compañero Al, donde intentamos hacer algo parecido
Responder Con Cita
  #5  
Antiguo 13-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, peroooo... esta telepatía
Responder Con Cita
  #6  
Antiguo 13-11-2006
lpedrazzi lpedrazzi is offline
Miembro
 
Registrado: sep 2005
Posts: 33
Poder: 0
lpedrazzi Va por buen camino
si copio y pego esa direccion me da un error por eso usé anteriormente idhttp con el método post poniendo usuario y contraseña, pero aparentemente cuando se ejecuta el post no me devuelve la pagina en donde están dichos enlaces...
Responder Con Cita
  #7  
Antiguo 13-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Si ya hablamos de temas de autenticación reitero mi propuesta de que leas el post sobre Automatización Web, allí encontraras consejos sobre como utilizar el componente IdHttp para que acepte cookies, redirecciones, etc. Tampoco dices que te esta devolviendo, solo dices que no es lo que tu esperabas pero seria interesante si se trata por ejemplo de algún mensaje de error.

Y por ultimo te recomiendo una herramienta que te puede ser muy útil

http://www.fiddlertool.com/fiddler/

con ella podrás echarle un vistazo a la comunicación entre el explorador y la pagina que te interesa y asi saber mejor como reproducirlo.
Responder Con Cita
  #8  
Antiguo 13-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Mira a ver si te sirve esta función que hice:

Código Delphi [-]
(**
 * Descarga un recurso http
 *
 * @param Url - recurso a descargar
 * @param UrlInicio - url de la página para iniciar sesión
 * @param Usuario, Password - usuario y contraseña para autenticación
 * @param Contenido - Stream que recibe los datos, debe estar ya creado.
 *)
procedure Descargar(const Url, UrlInicio, Usuario, Nip: String; Contenido: TStream);
var
  IdHttp: TIdHttp;
  Campos: TStringList;

begin
  IdHttp := TIdHttp.Create;
  Campos := TStringList.Create;

  try
    IdHttp.HandleRedirects := true;
    IdHttp.AllowCookies := true;
    IdHttp.HTTPOptions := IdHttp.HTTPOptions + [hoForceEncodeParams];

    Campos.Values['usuario'] := Usuario;
    Campos.Values['nip'] := Nip;

    IdHttp.Post(UrlInicio, Campos);

    IdHttp.Get(Url, Contenido);
    Contenido.Position := 0;

  finally
    IdHttp.Free;
    Campos.Free;
  end;
end;

// Saludos

Última edición por roman fecha: 13-11-2006 a las 22:21:51.
Responder Con Cita
  #9  
Antiguo 14-11-2006
lpedrazzi lpedrazzi is offline
Miembro
 
Registrado: sep 2005
Posts: 33
Poder: 0
lpedrazzi Va por buen camino
Muchas gracias comienzo a probar y te comento.
Responder Con Cita
  #10  
Antiguo 14-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por lpedrazzi
Quisiera saber si sabes de que se trata este valor que me devuelve
SESSIONID=amXCdPaluGH4s29AL7.. sera la cookie session para validar el login?
Exactamente esa cookie se utiliza para identificar la sesión. La cosa funciona así, la primera vez que acedes a la pagina, este te devuelve la cookie con un identificador. Tu navegador cada vez que accedes a esa misma pagina o a otra del mismo sitio, manda esa cookie, de esa forma el servidor puede rastrear la sesión. Si cierras el navegador y vuelves a acceder a la pagina, el servidor mandara un identificador diferente para identificar la nueva sesión.

Ahora pensemos en un ejemplo. Accedemos a la pagina de login, entonces recibimos una cookie con el identificador de sesión. Enviamos el nombre de usuario y contraseña por POST, y también enviamos la cookie. Ahora estamos identificados en esa sesión, de esta forma cada vez que accedamos a una pagina en ese servidor en esa misma sesión el servidor sabrá que estamos logueados.

Esto puede parecer complicado, pero es tan simple como decirle idHttp que acepte cookies, o usar Wininet. Ellos se encargaran de manejar las cookies sin que tengas tu que hacer nada.
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
Cerrando Internet Explorer johnyague API de Windows 4 04-09-2007 18:48:28
Internet Explorer 7 Final dec Noticias 6 23-10-2006 01:56:40
Acceso al internet explorer vicrati Varios 5 16-08-2006 13:51:22
Delphi 7.0 e Internet Explorer Maury Manosalva Internet 2 14-08-2006 17:55:33
No se ven imagenes en Internet Explorer Albano Internet 10 09-01-2006 20:43:51


La franja horaria es GMT +2. Ahora son las 18:57:15.


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