이들 모두 curl
와 wget
등, 파일 다운로드를위한 사용하다 다른 한 사용하는 어떤 이유가 있나요?
이들 모두 curl
와 wget
등, 파일 다운로드를위한 사용하다 다른 한 사용하는 어떤 이유가 있나요?
답변:
"적절한 사용"을 정의한 후을 사용하십시오 wget
.
왜? 그 이유는 다음과 같습니다.
재귀! curl과 비교하여 wget의 주요 장점은 재귀 적으로 다운로드하거나 심지어 원격 리소스에서 참조되는 모든 것을 HTML 페이지 또는 FTP 디렉토리 목록으로 다운로드하는 것입니다.
뻔뻔한 여기 에서 복사
curl
도서관 . 모든 사람이 사용할 수있는 안정적인 API를 갖춘 크로스 플랫폼 라이브러리로 curl
구동됩니다 libcurl
. 이 차이는 내부적으로 일을하는 방법에 대해 완전히 다른 태도를 만들어 내기 때문에 중요합니다. 또한 "단순한"명령 줄 도구보다 라이브러리를 만드는 것이 약간 더 어렵습니다.
파이프 . curl
전통적인 유닉스 cat
명령어 와 비슷하게 동작 하며 stdout
, 더 많은 것을 전송 stdin
하고 "모든 것이 파이프"방식으로 더 많은 것을 읽습니다 . wget
더처럼 cp
같은 아날로그를 사용하여.
싱글 샷 . curl
기본적으로 데이터의 단일 샷 전송을 수행합니다. 사용자가 지정한 URL 만 전송하며 재귀 적 다운로드 로직이나 HTML 파서는 포함하지 않습니다.
더 많은 프로토콜 . curl
FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP 및 RTSP를 지원합니다. Wget은 HTTP, HTTPS 및 FTP 만 지원합니다.
더 휴대용 . curl
보다 많은 플랫폼에서 빌드하고 실행합니다 wget
. 예를 들면 : Unix 클론이 아닌 OS / 400, TPF 및 기타 "이국적인"플랫폼.
더 많은 SSL 라이브러리 및 SSL 지원 . curl
11 개의 서로 다른 SSL / TLS 라이브러리 중 하나를 사용하여 빌드 할 수 있으며 프로토콜 세부 사항에 대한 제어력과 폭 넓은 지원을 제공합니다. curl
공개 키 고정을 지원합니다.
HTTP 인증 . curl
기본, 다이제스트, NTLM 및 협상과 같은 HTTP 프록시를 통해 더 많은 HTTP 인증 방법을 지원합니다.
SOCKS . curl
프록시 액세스를위한 여러 SOCKS 프로토콜 버전을 지원합니다
양방향 . curl
업로드 및 전송 기능을 제공합니다. wget
일반 HTTP POST 지원 만 제공합니다.
HTTP 멀티 파트 / 양식-데이터 전송- 사용자가 HTTP "업로드"를 수행하고 일반적으로 브라우저를 에뮬레이션하고보다 광범위하게 HTTP 자동화를 수행 할 수 있습니다.
curl
gzip
Content-Encoding을 지원 하고 확장 하며 자동 압축 풀기를 수행합니다.
curl
전송 인코딩 된 HTTP를 제공하고 압축 해제를 수행하지만 wget은 압축을 해제하지 않습니다.
curl
HTTP / 2를 지원하며 Happy Eyeballs를 사용하여 이중 스택 연결을 수행합니다.
훨씬 더 많은 개발자 활동 . 이것이 논란의 여지가 있지만 여기서는 메일 링리스트 활동, 소스 코드 커밋 빈도 및 릴리스 빈도의 세 가지 메트릭을 고려합니다. 이 두 프로젝트를 따르는 사람은 컬 프로젝트가이 모든 영역에서 훨씬 더 빠른 속도를 보이며 10 년 이상 지속 된 것을 볼 수 있습니다. Openhub에서 비교
wget
wget
명령 줄 전용입니다. 도서관이 없습니다.
재귀 ! wget
curl과 비교할 때 가장 큰 장점은 재귀 적으로 다운로드하거나 심지어 원격 리소스에서 참조되는 모든 것을 HTML 페이지 또는 FTP 디렉토리 목록으로 다운로드하는 것입니다.
더 오래된 . wget
1995 년으로 거슬러 올라가는 한편 curl
1996 년 말까지 추적 할 수 있습니다.
GPL . wget
100 % GPL v3입니다. curl은 MIT 라이센스입니다.
GNU . wget
GNU 프로젝트의 일부이며 모든 저작권은 FSF에 할당됩니다. curl 프로젝트는 완전히 독립형이며 Daniel이 소유 한 거의 모든 저작권으로 조직을 양육하지 않아도됩니다.
wget
원격 URL을 로컬 파일로 다운로드하기위한 추가 옵션이 필요하지 않지만, 또는이 curl
필요합니다 .-o
-O
wget
쿠키 도메인을 처리하기위한 공개 접미사 목록을 지원하지만 curl은 지원하지 않습니다.
wget
SSL / TLS 지원을 위해 GnuTLS 또는 OpenSSL 만 지원
wget
HTTP 프록시를 통한 유일한 인증 유형으로 기본 인증 만 지원
wget
양말 지원이 없습니다
조기에 손상된 전송을 복구하고 다운로드를 계속하는 기능에는 컬이 없습니다.
wget
쿼티 키보드에서 왼손 만 사용하여 입력 할 수 있습니다!
curl -C -
다운로드 가 계속 끊어 지지 않습니까?
wget can be typed in using only the left hand on a qwerty keyboard!
, WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
같은 다운로드 할 수있는 많은 도구가 있습니다 curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
등을 사용하여 귀하의 요구 사항과 어떤 당신이 다운로드와 함께 사용하고자하는 기능에 따라. 기능 표를 확인 하고 적절하게 사용 하십시오 .
컬 :
Wget :
더 많은 정보를위한 중요 자료 :
curl 대 Wget에 대한 좋은 설명이 있습니다.
기능 표 : 다른 다운로드 도구와 cURL 기능 비교
컬 지원 기능의 세부 사항 : 기능-컬 할 수있는 일
wget 지원 기능의 세부 사항 : wget 기능