• Publicidad

Continuar una descarga pausada

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Continuar una descarga pausada

Notapor creating021 » 2007-12-09 10:47 @491

Quiero programar una aplicación que descarga archivos vía HTTP.

¿Cómo podría continuar una descarga si he parado de descargar?

En otras palabras... cómo hace Opera ( por ejemplo ) para continuar una descarga ( donde iba ) sin tener que reiniciar la descarga del archivo.

¿ Algún header de HTTP ?

Gracias.

PD: uso Socket pero cualquier módulo es útil ( en LWP no ví nada de esto ).
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Publicidad

Notapor explorer » 2007-12-09 17:02 @751

Un cliente puede notificar al servidor que desea bajar no todo el archivo sino solo una parte. Eso se lo indica en la cabecera HTTP con la entrada Range (sección 14, apartado 35, de la definición del protocolo HTTP/1.1).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor creating021 » 2007-12-20 12:59 @582

Perfecto.

¡Muchas gracias!
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Zeokat » 2007-12-26 15:50 @702

¿Algún ejemplo sencillo de cómo hacer esto con el módulo LWP?

Parece que hay que toquetear los headers.

Gracias de antemano.
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380

Notapor explorer » 2007-12-26 16:45 @739

En el foro Básico hemos hablado de eso hace poco. Mira el hilo que se llama "Programa que se conecte a una web y baje datos".
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Zeokat » 2007-12-26 17:25 @767

Si, si... ya le eché un ojo... pero no vi por ninguna parte los rangos de bytes... y poco me solucionó. A ver si encuentro algo por ahí. :)
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380

Notapor creating021 » 2007-12-26 18:30 @812

Al final, con LWP no es tan dificil...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use LWP::UserAgent;
use HTTP::Request;
my $req = HTTP::Request->new(GET => 'http://www.example.com/example.tar.bz2');
$req->header(Range => 'bytes=0-511');
my $ua = LWP::UserAgent->new();
my $respuesta = $ua->request( $req );

if ( $respuesta->is_success ) {
    print $respuesta->content;
}
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


Eso debe de tomar los primero 512 bytes :)
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Zeokat » 2007-12-26 19:05 @837

Sí, sí, al final preguntando por ahí ya me aclararon cómo hacerlo. ;)

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$ua->default_headers->push_header(Range => "bytes=-200");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Zeokat
Perlero nuevo
Perlero nuevo
 
Mensajes: 125
Registrado: 2006-08-22 08:08 @380


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron