이들 모두 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
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
등을 사용하여 귀하의 요구 사항과 어떤 당신이 다운로드와 함께 사용하고자하는 기능에 따라. 기능 표를 확인 하고 적절하게 사용 하십시오 .
컬 :
- 컬은 더 많은 프로토콜 FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMP 및 RTSP를 지원합니다
- 컬은 더 많은 SSL 라이브러리를 지원합니다
- Curl은 기본, 다이제스트, NTLM 및 협상과 같은 HTTP 프록시를 통해 더 많은 HTTP 인증 방법을 지원합니다.
- 컬은 모든 사람이 사용할 수있는 안정적인 API를 갖춘 크로스 플랫폼 라이브러리 인 libcurl에 의해 구동됩니다.
Wget :
- wget은 HTTP, HTTPS 및 FTP를 지원하지만
- Wget은 SSL / TLS 지원을 위해 GnuTLS 또는 OpenSSL 만 지원합니다
- Wget은 HTTP 프록시를 통한 유일한 인증 유형으로 기본 인증 만 지원합니다.
- Wget은 명령 줄 도구 일 뿐이며 라이브러리가 없습니다.
더 많은 정보를위한 중요 자료 :
-
curl 대 Wget에 대한 좋은 설명이 있습니다.
-
기능 표 : 다른 다운로드 도구와 cURL 기능 비교
-
컬 지원 기능의 세부 사항 : 기능-컬 할 수있는 일
-
wget 지원 기능의 세부 사항 : wget 기능
답변
그들은 많은 기능을 curl
가지고 있지만 더 많은 옵션이 있습니다. 들어 wget
는 가끔 잎을 통해 충분한있을 수 man wget
있지만, 위해 curl
내가 연구 할 필요가 이 웹 페이지 브라우저에서합니다. 귀하의 브라우저가 할 수있는 모든 일도 할 수 있다고 생각 curl
합니다.
답변
wget과 curl 사이에는 또 다른 차이점이 있습니다.
Wget은 주로 인터넷 컨텐츠를 빠르고 간단하게 검색하기위한 독립형 명령 행 유틸리티입니다.
한편 컬은 기본적으로 강력한 libcurl 라이브러리의 터미널 프론트 엔드입니다. Libcurl은 모든 형태와 풍미의 URL로 작업 할 수있는 매우 강력한 도구 세트를 제공하며 거의 모든 언어와 플랫폼에서 사용할 수 있습니다. 컬은 기본적으로 쉘 스크립트에서이 라이브러리를 사용할 수있는 기능을 제공합니다.