2012-02-03 5 views
1

세그먼트 다운로드를 지원하는 다운로드 관리자를 개발하고 싶습니다. 그래서 저는 그것을 지원하는 도서관을 찾고 있습니다. 목적을 달성 할 수있는 Linux 플랫폼에서 사용 가능한 최상의 라이브러리에 관한 제안을하십시오.분할 다운로드 용 Linux 라이브러리

답변

1

사용자 지정 HTTP 헤더를 지원하는 모든 라이브러리 (예 : libcurl)가 작동합니다.

여러 스레드를 생성해야합니다. 각 스레드에서 요청 헤더의 Range 필드를 설정하여이 스레드가 다운로드해야하는 파일의 부분을 지정하십시오.

특별히 libcurl의 경우 CURLOPT_RANGE 옵션을 사용하여 부분 파일 다운로드를 수행 할 수 있습니다.

설명 양식 의 documentation을 참조하십시오.

CURLOPT_RANGE 원하는 특정 범위를 포함해야하는 매개 변수로 *는 문자를 전달합니다. "X-Y"형식이어야하며 여기서 X 또는 Y는 생략 할 수 있습니다. HTTP 전송은 또한 "X-Y, N-M"에서와 같이 쉼표로 구분 된 여러 간격을 지원합니다. 이러한 종류의 다중 간격을 사용하면 HTTP 서버가 표준 MIME 분리 기술을 사용하여 응답 문서를 조각 단위로 전송하게됩니다. RTSP의 경우 범위의 형식은 RFC 2326 12.29 절을 따라야합니다. RTSP의 경우 바이트 범위는 허용되지 않습니다. 대신 범위는 npt, utc 또는 smpte 형식으로 지정해야합니다.

범위 사용을 사용하지 않으려면이 옵션에 NULL을 전달하십시오.

범위는 HTTP, FTP, FILE (7.18.0 이상) 및 RTSP (7.20.0 이상)에서만 작동합니다.

+1

나는 요청 헤더 필드가'Content-Range' [ref]가 아닌'Range'라고 생각한다. (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2) [또한보십시오] (http://stackoverflow.com/questions/716680/difference-between-content-range-and-range-headers) – fajran

+0

@ fajran 감사, 나는 대답을 수정. –

+0

고맙습니다. 매우 감사. –