elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ¿Bajar archivo y saber cuando terminó?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Bajar archivo y saber cuando terminó?  (Leído 4,649 veces)
extreme69

Desconectado Desconectado

Mensajes: 178


Be BlackHat but don't forget your principles.


Ver Perfil
¿Bajar archivo y saber cuando terminó?
« en: 29 Enero 2012, 23:12 pm »

Nada, bajando el archivo no tengo problemas, estoy usando un timer con un tiempo exagerado "por las dudas" pero me gustaría encontrar la forma de saber apenas el archivo terminó de bajarse y si terminó de bajarse entero o se cortó en el camino...

Por ejemplo, para saber cuando terminó de bajarse también puedo usar un timer que lea el tamaño del archivo y cuando el archivo durante X cantidad de segundos no varía de tamaño debería haber concluido la descarga, pero no tengo manera de saber si se cortó la descarga o si llegó entero el archivo.

Otra posibilidad que me planteo es conectar por FTP al hosting donde está el archivo a bajar, leer el tamaño del archivo antes de descargarlo y compararlo con el archivo bajado, cuando el archivo bajado llega al mismo peso obviamente terminó de bajar y si no llega pasados X segundos es porque no logró descargar correctamente y lo intentaría de nuevo hasta lograrlo con éxito.

¿Hay alguna manera "fácil" de hacer esto? ¿o tengo que hacerlo engorroso?


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #1 en: 29 Enero 2012, 23:17 pm »

Como bajas actualmente el archivo?...

Dulces Lunas!¡.


En línea

The Dark Shadow is my passion.
extreme69

Desconectado Desconectado

Mensajes: 178


Be BlackHat but don't forget your principles.


Ver Perfil
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #2 en: 29 Enero 2012, 23:33 pm »

Tengo varios codes para el download que usé antes en otros programas, no sería problema utilizar otro code.

Actualmente tengo ganas de usar este código de Alberto Falossi que encontré aca: http://www.devx.com/vb2themax/Tip/19203

Tiene un reporte de errores, pero no me queda claro que pasaría si el archivo no logra descargarse.

También veo que no hay end if por ningún lado pero funciona igual... ¿me explican porqué no son necesarios los end if en este caso?
« Última modificación: 29 Enero 2012, 23:38 pm por extreme69 » En línea

STARZ

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #3 en: 29 Enero 2012, 23:55 pm »

Hola, te respondo a lo de "End If"

Cuando usas if then etc no es necesario ponerle el end if siempre y cuando mantengas toda la estuctura del IF en la misma línea; también puedes agegar dos puntos para seguir agregando concluciones.

ej iguales:
Código
  1. Dim a As String
  2. a = "Rojo"
  3. if a = "Rojo" then
  4. msgbox "SI, A es rojo"
  5. msgbox "ROJO"
  6. else
  7. msgbox "NO, A no es Rojo"
  8. end if

Código
  1. Dim a As String
  2. a = "Rojo"
  3. if a = "Rojo" then msgbox "SI, A es rojo" : msgbox "ROJO"  else msgbox "NO, A no es Rojo"
« Última modificación: 29 Enero 2012, 23:57 pm por STARZ » En línea

extreme69

Desconectado Desconectado

Mensajes: 178


Be BlackHat but don't forget your principles.


Ver Perfil
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #4 en: 30 Enero 2012, 00:02 am »

Gracias STARZ, yo siempre lo hice en varias lineas, parece más prolijo.

¿Me ayudan con lo de saber cuando terminó de descargarse el archivo y si se descargó correctamente?

Sino lo voy a tener que hacer por FTP midiendo los tamaños, pero FTP no es tan estable como HTTP... me va a empezar a tirar errores de sockets, o connection failed, o timeout, etc...
« Última modificación: 30 Enero 2012, 00:05 am por extreme69 » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #5 en: 30 Enero 2012, 00:13 am »

Gracias STARZ, yo siempre lo hice en varias lineas, parece más prolijo.

¿Me ayudan con lo de saber cuando terminó de descargarse el archivo y si se descargó correctamente?

Sino lo voy a tener que hacer por FTP midiendo los tamaños, pero FTP no es tan estable como HTTP... me va a empezar a tirar errores de sockets, o connection failed, o timeout, etc...

Yo por lo menos necesito saber como rayos descargas actualmente el archivo, si usas WININET como el codigo de la liga que pusiste de "Alberto Falossi" pues simplemente tienes que comparar segun la MSDN dice si es que falla

http://msdn.microsoft.com/en-us/library/windows/desktop/aa385096%28v=vs.85%29.aspx

Citar
Return value

Returns a valid handle that the application passes to subsequent WinINet functions. If InternetOpen fails, it returns NULL. To retrieve a specific error message, call GetLastError.

Para mas info(Se lista TODO lo referente con la WININET):  http://msdn.microsoft.com/en-us/library/windows/desktop/aa385483%28v=vs.85%29.aspx

Nota: Lo del if then es mejor usar solo 1 sentencia (sin los ":" ya que no es nada prolijo).

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #6 en: 30 Enero 2012, 00:20 am »

Perdon por el doble post... acabo de leer algo que seguro te interesara...

HttpQueryInfo function
un ejemplo (si no sabes C/C++ donde veas "&dwNombre"  debes usar varptr(dwNombre), donde veas new char debes usar redim).
Retrieving HTTP Headers

Con esa api puedes saber cuanta información esperas recibir (array de tipo byte no string...), con conjunto con la funcion de la liga aquella puedes verificar el peso del archivo descargado con el peso orifinal (No usaras un buffer de bytes).

Dulces Lunas!¡.
« Última modificación: 30 Enero 2012, 00:29 am por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
extreme69

Desconectado Desconectado

Mensajes: 178


Be BlackHat but don't forget your principles.


Ver Perfil
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #7 en: 30 Enero 2012, 00:27 am »

BlackZeroX,

Todos los códigos de ejemplo son C++ o al menos no son VB6, entiendo poco y/o nada que hace el code.
En línea

extreme69

Desconectado Desconectado

Mensajes: 178


Be BlackHat but don't forget your principles.


Ver Perfil
Re: ¿Bajar archivo y saber cuando terminó?
« Respuesta #8 en: 30 Enero 2012, 10:57 am »

Listo!

Lo solucioné mudandome a VB.NET y usando una progress bar.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Bajar un archivo de una url con progreso
Programación Visual Basic
yalosabes 4 2,358 Último mensaje 15 Febrero 2006, 02:55 am
por Robokop
Como saber cuando un archivo esta en ejecucion
Programación Visual Basic
Hendrix 1 1,736 Último mensaje 16 Marzo 2006, 00:20 am
por NYlOn
[Help] Saber cuando se refresca un control
Programación Visual Basic
Psyke1 2 2,366 Último mensaje 13 Marzo 2011, 11:03 am
por Psyke1
Cuando creeis que volveran a bajar de precio los discos duros????????
Hardware
beholdthe 3 5,809 Último mensaje 27 Diciembre 2011, 20:51 pm
por beholdthe
Bajar archivo de File2share
Hacking
101010 4 9,283 Último mensaje 18 Junio 2023, 16:58 pm
por 101010
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines