¿Preguntas sobre la "Solicitud HTTP múltiple" de JMP17?¡Hola!
JMP17 agregó "Solicitud HTTP múltiple"
Código de muestra: ¿Se descargan las tres tareas de descarga al mismo tiempo o se descargan las siguientes tareas cuando se completa una?
¿Se reducirá el tiempo total de descarga al usar esta función?
urls =
{"http://cdimage.ubuntu.com/lubuntu/releases/20.04.3/release/lubuntu-20.04.3-desktop-amd64.iso",
"http://downloads.sourceforge.net/clonezilla/clonezilla-live-2.7.3-19-amd64.iso",
"https://download.manjaro.org/xfce/21.1.0/manjaro-xfce-21.1.0-210817-linux513.iso"};
requests = New Multi HTTP Request();
For( i = 1, i <= N Items( urls ), i++,
request = New HTTP Request( Method( "GET" ), URL( urls[i] ) );
requests << Add( request );
);
http_requests = requests << Get Requests();
data = requests << Download( "show progress", "detailed" );
Show( requests << Has Error );
For( i = 1, i <= N Items( http_requests ), i++,
Show( http_requests[i] << Get Mime Type() )
);secuencias de comandosventanasRe: ¿Preguntas sobre "Solicitud HTTP múltiple" de JMP17?Suceden al mismo tiempo.
Así que el tiempo que tarda en terminar es el más largo de los tres.
Si el primer ISO tarda 2 minutos, el segundo 1 minuto y el tercero 3 minutos, entonces el tiempo total que tarda la solicitud HTTP en descargarse es 3 minutos.
Re: ¿Preguntas sobre "Solicitud HTTP múltiple" de JMP17?¡Gracias expertos!
Re: ¿Preguntas sobre "Solicitud HTTP múltiple" de JMP17?¿Cómo se puede modificar esta forma de descarga circular a descarga paralela?
El código original consistía en descargar los datos en el mismo formato en diferentes fechas y fusionarlos en la primera tabla en cada descarga.
Ahora puede descargarlo en paralelo como Solicitud HTTP múltiple de JMP17, pero finalmente fusionarlo en una tabla de datos
urls = {};
j = 1;
dt = Current Data Table();
m = 0;
For( j = 1, j <= N Row( dt ), j++,
a = Char( dt[j, "date"] );
u = "http://dd.gubit.xx/longhubang/?t=-1&date=" || a || "&page=1";
Insert Into( urls, u );
);
requests = New Multi HTTP Request();
For( i = 1, i <= N Items( urls ), i++,
d1 = Open( urls[i], HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) ) );
requests << Add( d1 );//??
);
http_requests = requests << Get Requests();Re: ¿Preguntas sobre "Solicitud HTTP múltiple" de JMP17?dt = Current Data Table(); m=0;
For( j = 1, j <= N Row( dt ), j++,
a = Char( dt[j, "date"] );
u = "http://dd.gubit.xx/longhubang/?t=-1&date=" || a || "&page=1";
d1 = Open( u, HTML Table( 1, Column Names( 1 ), Data Starts( 3 ) ) );
Current Data Table( d1 );
New Column( "date" );
d1[1 :: N Row( d1 ), "date"] = Num( a );
m = m + 1;
If( m == 1,
d2 = d1;
d2 << setName( "dt2" );
,
Current Data Table( d2 );
d2 << Concatenate( Data Table( d1 ), Append to first table );
Close( d1, nosave );
);
);
¡Gracias!
Re: ¿Preguntas sobre "Solicitud HTTP múltiple" de JMP17?Para la parte MultiHTTPRequest de su pregunta, probablemente desee:
data = requests << Send();
en vez de:
http_requests = requests << Get Requests();
data = request << Send() envía las solicitudes al servicio web y devuelve una lista de respuestas.
data = requests << Send();
For(I = 1, I <= N Items(data), I++,
//data[I] corresponds to the return value of request[I]
);