웹페이지 혹은 웹에서 다운로드를 명령행에서 다운받을 때
wget 또는 curl 명령을 사용합니다.
(과거에는 wget 을 더 애용했습니다. 그냥 단순 url 내용을 가져올 요량으로요)
두개가 다 비슷하다면 어떤 경우에 어떤 것이 더 나을까 잠시 찾아보았더니,
비교블로그 가 있더군요. 그 내용중 일부를 우리글로 옮겨봅니다.
둘다 지원하는 내용
- FTP, HTTP, HTTPS 프로토콜을 이용하여 명령행으로 컨텐츠 다운로드
- 스크립트 등을 이용하여 자동으로 작업 가능
- 오픈소스 및 프리소프트웨어
- 90년대 프로젝트 시작
CURL의 특징
- libcurl 이용 : 크로스 플랫폼의 아주 많이 사용하는 라이브러리
- Pipes : stdin 또는 stdoout의 pipe을 이용하는 전통적인 unix 스타일의 방식도 지원
- Return code : 문서화 되어 있는 한개 이상의 다양한 결과 코드를 리턴
- Single shot : 단일 URL의 컨텐츠를 가져옴
- 더 많은 프로토콜 지원 : FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS,
FILE, POP3, IMAP, SMTP, RTMP, RTSP 등의 프로토콜 지원 (wget은 HTTP, HTTPS, FTP 지원)
- Portable : UNIX 뿐만 아니라 OS/400, TPF 등과 같은 플랫폼까지도 지원
- SSL 라이브러리 : SSL 지원
- 다양한 HTTP 인증 방법 지원 : HTTP Proxy 환경에서 사용 가능
- 양방향 : wget이 일반 HTTP POST만 지원하는데 반해 업로드와 보내는 방법 지원
- HTTP multipart/form-data : HTTP "upload" 뿐만 아니라 HTTP 자동화 등에 사용 가능
- 압축 : gzip 압축 및 해지 지원
Wget 특징
- 명령행으로만 존재. (별도의 라이브러리 지원 불가. 따라서 python 모듈 등이 없음)
- Recursive! : curl과 차별되는 기능으로서 리커시브하게 컨텐츠를 가져올 수 있음.
- 오래됨 : 1995년에 시작된 반면, curl은 1997년에 시작됨
- curl에 비하여 개발이 덜 활발함.
- HTTP 1.0 : HTTP 1.1을 아직 지원하지 않는다고 하는군요. (마지막 갱신 시점이 2011/01/24 입니다)
- GPL : Wget은 GPL v3이고 curl은 MIT 라이센스 입니다.
- GNU : GNU 프로젝트 중에 속해있고 모든 카피라이트는 FSF에 있습니다.
결론적으로 이 블로그를 쓴 사람은 wget보다 curl이 기능이 더 많다는 이야기네요.
저는 pycurl 이라는 파이썬 libcurl 연동도 있구해서 curl을 사용하도록 해야겠군요.
덧글|신고