단일 연결을 통해 wget과 병렬로 파일 다운로드

단일 연결을 통해 wget과 병렬로 파일 다운로드

이 질문은 후속 질문입니다.wget을 사용하여 여러 파일을 동시에 다운로드하는 방법은 무엇입니까?

이 질문과 마찬가지로 많은 파일을 다운로드해야 합니다. 위의 답변에 따르면 권장됩니다 cat url-list | parallel -j8 wget {}. 그러나 이를 위해서는 각 URL에 대한 TCP 연결 및 https/TLS 협상이 필요하며 이는 클라이언트와 서버 측 모두에서 낭비입니다.

모든 URL이 동일한 서버에 있는 경우 GET /object.txt단일 TCP/HTTP 연결을 통해 여러 쿼리를 수행할 수 있습니다.

질문: wget으로 이 작업을 수행할 수 있는 방법이 있나요?

답변1

Wget은 이 작업을 기본적으로 수행합니다( --no-http-keep-alive해제). 여러 개의 연속 URL이 동일한 서버에 있는 경우 동일한 연결을 재사용합니다(서버가 원하는 경우).

parallelwget에게 덜 자주 호출되도록 지시해야 합니다 . -X각 호출의 매개변수를 집계하도록 전달됩니다 .

cat url-list | parallel -j8 -X wget

관련 정보