Página 1 de 1

Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 29 Abr 2014, 22:55
por kotoqu
Estimados. Saludos a todos.

Mi consulta es: ¿existe alguna diferencia entre las funciones InetGet("abort") e InetClose(xxx)?

El tema es que estoy tratando de bajar muchos archivos (mas de 100 pero de 50 Kb +- cada uno) todo en un solo script. Me pasa que con la función InetGet en segundo plano, me bajan los archivos de grupos de 5 o 6 y a la mitad del proceso de descarga se pega la función, no baja más, se pega todo y tengo que terminar el script.

Puede ser también que el servidor del cual estoy descargando no admita muchas descargas.

Pongo un extracto del código para ver si alguien encuentra que hago mal.

Código: Seleccionar todo

#Include <Inet.au3>

$Link = "http://corte.poderjudicial.cl/SITCORTEPORWEB/ConsultaDetalleAtPublicoAccion.do?TIP_Consulta=1&COD_Libro=3&ROL_Recurso=4957&ERA_Recurso=2001&COD_Corte=90&"
$Page = "C:\Fuente.txt"
$hDownload = InetGet ($Link, $Page, 1, 1)
Info ()
Esto se repite por 100 o más vínculos como este.
Luego está la Función Info() que genera las descargas.

Código: Seleccionar todo



FUNC Info()

Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)    ; Chequea si la descarga es completada
Local $aData = InetGetInfo($hDownload)  ; Obtiene toda la información
InetClose($hDownload)   ; Cierrra el identificador para liberar el recurso

ENDFUNC



Saludos.

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 14:07
por Dany
InetGet("abort") ya no se usa. usa InetClose.

Saludos

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 16:00
por kotoqu
Gracias Dany por tu pronta respuesta.
Hace poco me di cuenta que InetGet("Abort") se modifico y pasó a ser InetClose.
No obstante aun sigo teniendo el problema de que cuando intento bajar muchos archivos, aun cuando estos son códigos fuente que no pesan más de 50Kb, igual se queda pegado el proceso de InetGet y no tengo como despegarlo, ni aun usando InetClose.
Me he quebrado la cabeza buscando la raíz del problema y no he logrado dar con la solución.
No se si es problema del Código, de la página o de red.

Mi objetivo es bajar todos estos códigos fuentes (que son cientos) lo más rápido posible, ojalá en forma instantánea.

Cuando Utilizo InetGet con parámetro de segundo plano tengo que hacer un Sleep (500) mínimo entre cada descarga para que no se me pegue, pero a veces se pega igual aun que el Sleep sea de 2000.

Tal vez lo que necesito se puede realizar con otro lenguaje de programación, pero lo desconozco.

Bueno. Eso es todo.

Gracias por la colaboración

Saludos.

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 16:21
por Dany
¿Porbaste con el ejemplo que provee la ayuda? a ver si también se congela.

saludos

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 16:55
por kotoqu
Si, de hecho en el código que pegué en el post esta la función de descarga que es la misma de la Ayuda.

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 17:01
por Dany
Pues parece ser falla del servidor.

si no tienes tiempo para solucionar el problema con autoit hay una aplicacion que te permite bajar toda una web. proba a ver que tal te va.

http://www.httrack.com/page/2/

Saludos :smt027

Re: Diferencia entre InetGet("abort") y InetClose(xxx)

Publicado: 30 Abr 2014, 17:10
por kotoqu
Yo también temo que sea del servidor.
Voy a probar la aplicación que me recomiendas.

Muchas gracias y te cuento como me fue.

Saludos.