Estuve probando el ejemplo para bajar un archivo de Internet:
http://gambaswiki.org/wiki/comp/gb.net.curl/httpclient
El problema es que me da error TimeOut. Bueno, me devuelve un número -1028
Citar:
Con este pude bajarlo desde Python:
#........
# Mientras que si es un fichero de vídeo o de audio grande, ese programa
# puede colgarse o al menos ejecutarse lentamente cuando tu computadora se
# quede sin memoria. Para evitar que te quedes sin memoria, nosotros
# retendremos los datos en bloques (o buffers) y entonces escribiremos
# cada bloque a tu disco duro, antes de retener el próximo bloque.
# De esta forma puedes leer cualquier tamaño de archivo sin usar toda
# la memoria de tu ordenador
from urllib import request
img = request.urlopen('http://mirrors.ordimatic.net/mint//stable/17.1/linuxmint-17.1-mate-32bit.iso')
fhand = open('linuxmint-17.1-mate-32bit.iso','w',encoding = 'iso-8859-1')
size = 0
while True:
info = img.read(100000).decode('iso-8859-1')
if len(info) < 1: break
size += len(info)
fhand.write(info)
print (size,'carácteres copiados.')
fhand.close()
# Mientras que si es un fichero de vídeo o de audio grande, ese programa
# puede colgarse o al menos ejecutarse lentamente cuando tu computadora se
# quede sin memoria. Para evitar que te quedes sin memoria, nosotros
# retendremos los datos en bloques (o buffers) y entonces escribiremos
# cada bloque a tu disco duro, antes de retener el próximo bloque.
# De esta forma puedes leer cualquier tamaño de archivo sin usar toda
# la memoria de tu ordenador
from urllib import request
img = request.urlopen('http://mirrors.ordimatic.net/mint//stable/17.1/linuxmint-17.1-mate-32bit.iso')
fhand = open('linuxmint-17.1-mate-32bit.iso','w',encoding = 'iso-8859-1')
size = 0
while True:
info = img.read(100000).decode('iso-8859-1')
if len(info) < 1: break
size += len(info)
fhand.write(info)
print (size,'carácteres copiados.')
fhand.close()
Anteriormente lo usaba para bajar una imagen, por eso lo de img. Expresamente no ha usado TimeoOut
La media de la bajada oscilaba entre 800k y 1M. Pude poner un buffer mayor.
En el ejemplo de gambas cambie el valor del TimeOut a 60, fue mejor, pero acabó dando error otra vez.
http://gambaswiki.org/wiki/comp/gb.net.curl/net
Por el número del error, ¿ como puede verse el error textualmente ?.( No un código )
Se que tenemos el comando Error.
Este es el procedimiento que usa el código para detectar error.
Me toca ver gestiones de errores en Gambas.
Saludos