JMP17의 "다중 HTTP 요청"에 대한 질문이 있습니까?안녕하세요!
JMP17에 "다중 HTTP 요청" 추가
샘플 코드: 세 개의 다운로드 작업이 동시에 다운로드됩니까, 아니면 하나가 완료되면 다음 작업이 다운로드됩니까?
이 기능을 사용하면 전체 다운로드 시간이 줄어들까요?
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() )
);스크립팅창Re: JMP17의 "다중 HTTP 요청"에 대한 질문?그것들은 동시에 일어납니다.
그래서 완료하는 데 걸리는 시간은 3개 중에서 가장 깁니다.
첫 번째 iso를 다운로드하는 데 2분, 두 번째 iso는 1분, 세 번째 iso는 3분이 걸린다면 HTTP 요청을 다운로드하는 데 걸리는 총 시간은 3분입니다.
Re: JMP17의 "Multi HTTP Request"에 대한 질문이 있습니까?감사합니다!
Re: JMP17의 "다중 HTTP 요청"에 대한 질문이 있습니까?이 순환 다운로드 형식을 어떻게 병렬 다운로드로 수정할 수 있습니까?
원래 코드는 다른 날짜에 동일한 형식의 데이터를 다운로드하고 각 다운로드의 첫 번째 테이블에 병합하는 것이었습니다.
이제 JMP17의 다중 HTTP 요청으로 나란히 다운로드할 수 있지만 마지막으로 데이터 테이블에 병합할 수 있습니다.
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: JMP17의 "Multi HTTP Request"에 대한 질문이 있습니까?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 );
);
);
감사!
Re: JMP17의 "Multi HTTP Request"에 대한 질문이 있습니까?질문의 MultiHTTPRequest 부분에 대해 다음을 원할 것입니다.
data = requests << Send();
대신에:
http_requests = requests << Get Requests();
data = requests << Send()는 웹 서비스에 요청을 보내고 응답 목록을 반환합니다.
data = requests << Send();
For(I = 1, I <= N Items(data), I++,
//data[I] corresponds to the return value of request[I]
);