wget에서 다운로드한 파일의 크기를 제한하는 방법은 무엇입니까?

wget에서 다운로드한 파일의 크기를 제한하는 방법은 무엇입니까?

(PHP 스크립트에서)을 사용하여 이미지 파일을 다운로드 하고 싶지만 wget특정 크기 이상의 파일을 다운로드하고 싶지 않습니다.

파일 크기를 제한할 수 있나요 wget? 그렇지 않다면 더 좋은 방법은 무엇입니까?

답변1

다운로드 스크립트를 작성하는 경우 curl. Wget은 출력을 구문 분석하고 전체 사이트를 재귀적으로 가져올 수 있지만, 컬에는 특정 파일의 실제 다운로드와 관련된 더 많은 옵션이 있습니다. 매뉴얼 페이지의 관련 옵션은 다음과 같습니다.

--max-filesize는
다운로드할 파일의 최대 크기(바이트)를 지정합니다. 요청된 파일이 이 값보다 크면 전송이 시작되지 않고 컬은 종료 코드 63을 ​​반환합니다.
참고: 다운로드하기 전에 파일 크기를 항상 알 수 있는 것은 아니며 이러한 파일의 경우 파일 전송이 지정된 제한보다 커지더라도 이 옵션은 효과가 없습니다.

이것이 특정 파일에서만 작동한다는 의견은 고려해 볼 가치가 있습니다. 클라이언트는 다운로드를 시작하기 전에 파일 크기를 보고하기 위해 서버를 사용합니다. 전부는 아니지만 대부분의 서버가 이를 보고합니다.

답변2

wget을 사용하려는 경우 다운로드하지 않고 파일 크기를 테스트하는 방법은 다음과 같습니다.

wget --spider $URL 2>&1 | awk '/Length/ {print $2}'

$URL물론 다운로드하려는 파일의 URL은 어디에 있습니까?

따라서 출력에 따라 스크립트를 조정할 수 있습니다. 예를 들어:

{ [ $(wget --spider $URL 2>&1 | awk '/Length/ {print $2}') -lt 20971520 ] && wget $URL; } || echo file to big

다운로드 크기를 20MB로 제한하는 데 사용됩니다.

(코드는 참조용으로 보기 흉합니다.)

답변3

예, wget을 사용하여 최대 파일 크기를 설정하는 합리적인 방법이 있습니다. 질문은 이유가 충분합니다. 따라서 이 링크에는 wget에 대한 훌륭한 패치가 있으며 wget이 컴파일되었습니다. 나는 합법적인 이유로 그것을 사용하고 있으며 훌륭하게 작동합니다. Linux 저장소의 de wget에 추가하길 바랍니다.

https://yurichev.com/wget.html

행운을 빌어요.

답변4

wget에는 -Q --quota여러 URL이 제공될 때(반복적으로 또는 입력 목록으로) 최대 다운로드 크기를 제한하는 옵션이 있습니다.

https://www.gnu.org/software/wget/manual/html_node/Download-Options.html

https://stackoverflow.com/a/20318140/4364036

관련 정보