Domande su "Richiesta HTTP multipla" di JMP17?Ciao!
JMP17 ha aggiunto "Richiesta HTTP multipla"
Codice di esempio: le tre attività di download vengono scaricate contemporaneamente o le attività successive vengono scaricate al termine di una?
Il tempo di download complessivo sarà ridotto utilizzando questa funzione?
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() )
);SceneggiaturafinestreR: Domande su "Multi HTTP Request" di JMP17?Avvengono contemporaneamente.
Quindi il tempo necessario per completarlo è il più lungo dei 3.
Se il primo iso impiega 2 minuti, il secondo 1 minuto e il terzo 3 minuti, il tempo totale per il download della richiesta HTTP è di 3 minuti.
Ri: Domande su "Richiesta HTTP multipla" di JMP17?Grazie Esperti!
Ri: Domande su "Richiesta HTTP multipla" di JMP17?Come è possibile modificare questa forma di download circolare in download parallelo?
Il codice originale prevedeva di scaricare i dati nello stesso formato in date diverse e unirli nella prima tabella ad ogni download.
Ora puoi scaricarlo fianco a fianco come Multi HTTP Request di JMP17, ma alla fine unirlo in una tabella di dati
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();Ri: Domande su "Richiesta HTTP multipla" di 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 );
);
);
Grazie!
Ri: Domande su "Richiesta HTTP multipla" di JMP17?Per la parte MultiHTTPRequest della tua domanda, probabilmente vorrai:
data = requests << Send();
invece di:
http_requests = requests << Get Requests();
data = request << Send() invia le richieste al servizio web e restituisce un elenco di risposte.
data = requests << Send();
For(I = 1, I <= N Items(data), I++,
//data[I] corresponds to the return value of request[I]
);