cURL

위키백과, 우리 모두의 백과사전.

cURL
원저자다니엘 스텐베리[1]
개발자Contributors to the cURL project
발표일1997년[2]
안정화 버전
8.7.1[3] 위키데이터에서 편집하기 / 2024년 3월 27일
저장소github.com/curl/curl/
프로그래밍 언어C
운영 체제크로스 플랫폼
종류FTP 클라이언트 / HTTP 클라이언트
라이선스자유 소프트웨어: MIT/X 파생 라이선스
상태개발 중
웹사이트curl.haxx.se

cURL(/kɝl/ 또는 /kə:l/)[4]은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다. 이 이름은 "client URL"을 줄인 것이다.[5]

역사[편집]

curl은 1996년에 처음 출시되었으며, 스웨덴의 소프트웨어 개발자 다니엘 스텐베리가 환율 정보를 가져오는 것을 자동화하는 IRC 봇을 만들기 위해 curl을 만들었다.[6] 원래 이름은 httpget 이었고 이후 urlget이었다가 최종적인 이름으로 curl이 되었다.[7][8]

libcurl[편집]

libcurl은 자유 소프트웨어인 클라이언트측 URL 전송 라이브러리로,[9] 쿠키, DICT, FTP, FTPS, 고퍼, HTTP/1,[10] HTTP/2HTTP/3, HTTP POST, HTTP PUT, HTTP 프록시 터널링, HTTPS, 인터넷 메시지 접속 프로토콜, 커버로스, LDAP, MQTT, POP3, RTSP, RTMP, SCP, SMTPSMB을 지원한다. 라이브러리는 파일 URI 체계, SFTP, 텔넷, TFTP, 파일 전송 재개, FTP 업로드, HTTP 양식 기반 업로드, HTTPS 인증서, LDAPS, 프록시 및 사용자 + 비밀번호 인증을 지원한다.[11]

libcurl 라이브러리는 이식성이 높다. IBM AIX, 아미가OS, 안드로이드, BeOS, 블랙베리 태블릿 OS블랙베리 10,[12] OpenVMS, 다윈, 도스, FreeBSD, HP-UX, GNU 허드, iOS, IRIX, 리눅스, macOS, NetBSD, 넷웨어, OpenBSD, OS/2, QNX Neutrino, RISC OS, 솔라리스, 심비안 OS, Tru64, Ultrix, UnixWare, 마이크로소프트오픈하모니를 포함한 많은 플랫폼에서 동일하게 빌드되고 작동한다.[13][14][15]

libcurl 라이브러리는 자유 소프트웨어이며 스레드 안전하며 IPv6과 호환된다. C / C++, 자바, 줄리아 (번들 포함), PHP파이썬을 포함하여 50개 이상의 언어에서 언어 바인딩으로 사용할 수 있다.[16]

libcurl 라이브러리는 IBM i 의 GnuTLS, mbed TLS, NSS, gskit, 윈도우의 보안 지원 제공자 인터페이스, macOS 및 iOS의 Secure Transport, OpenSSL, BoringSSL, LibreSSL, AmiSSL, WolfSSL, BearSSLRustls을 통한 전송 계층 보안을 지원한다.[17]

curl[편집]

curl은 URL 구문을 입력해 인터넷에서 파일을 포함한 데이터를 가져오거나 보내는 명령줄 도구이다. 컬은 libcurl을 사용하므로 libcurl이 지원하는 모든 프로토콜을 지원한다.[11]

명령 줄에서의 cURL 사용 예[편집]

cURL을 사용할 때는 curl을 명령 줄에 먼저 입력한 다음에 출력을 받아올 URL을 뒤이어 추가한다.

example.com 홈페이지를 받아오려면 다음과 같이 입력한다:

curl www.example.com

컬은 기본적으로 시스템(보통 터미널 창)에 지정된 표준 출력으로 검색한 출력을 표시하며, 따라서 대부분의 시스템에서 위 명령을 실행하면 터미널 창에 www.example.com 소스 코드가 표시된다. 대신 -o 플래그를 사용하여 출력을 파일에 저장할 수 있다.

$ curl -o example.html www.example.com

추가 옵션을 통해 다른 기능을 사용할 수 있다.

같이 보기[편집]

  • 컬로더(curl-loader) – 컬 기반의 오픈 소스 테스트 도구
  • libwww – 명령줄 인터페이스와 함께된 초기 인터넷 관련라이브러리
  • 파워셸iwr (Invoke-WebRequest) 명령어와 클래스 web-client에는 컬과 유사한 기능이 있었다.[18]
  • 웹 크롤러 – 웹을 크롤링할 수 있는 인터넷 봇
  • Wget – 관련 라이브러리는 없지만 재귀적으로 다운로드할 수 있는 유사한 명령줄 도구

각주[편집]

  1. Stenberg, Daniel (2015년 3월 20일). “curl, 17 years old today”. 《daniel.haxx.se》. 2015년 3월 20일에 확인함. 
  2. “History of curl - How curl Became Like This”. curl. 2017년 9월 30일에 원본 문서에서 보존된 문서. 2016년 11월 17일에 확인함. Daniel simply adopted an existing command-line open-source tool, httpget, that Brazilian Rafael Sagula had written and recently release version 0.1 of. After a few minor adjustments, it did just what he needed. […] HttpGet 1.0 was released on April 8th 1997 with brand new HTTP proxy support. 
  3. “curl 8.7.0 and 8.7.1 | daniel.haxx.se” (영어). 2024년 3월 27일. 2024년 3월 27일에 확인함. 
  4. “curl - Frequently Asked Questions”. 《curl.se》. 
  5. Stenberg, Daniel. “Origin of the name”. 《curl.se》 (영어). 2021년 3월 27일에 확인함. 
  6. “History of curl” (미국 영어). fossies.org. 2021년 9월 17일에 원본 문서에서 보존된 문서. 2021년 5월 11일에 확인함. 
  7. “Changelog” (영어). 4 January 2020. 4 January 2020에 확인함. The first curl release. The tool was named urlget before this. And httpget before that. 
  8. Stenberg, Daniel ( 4 January 2020). “Restored complete curl changelog” (html). 《Haxx Se》. 2 January 2020에 확인함. 
  9. Jones, M. Tim ( 8 September 2009). “Conversing through the Internet with cURL and libcurl - Using libcurl with C and Python”. 《IBM Developerworks》. 14 April 2015에 원본 문서에서 보존된 문서. 12 September 2018에 확인함. 
  10. Stenberg, Daniel ( 5 August 2019). “http09: disable HTTP/0.9 by default in both tool and library”. 《GitHub》. 5 August 2019에 원본 문서 (html)에서 보존된 문서. 5 August 2019에 확인함. As the plan has been laid out in Deprecated. Update docs accordingly and verify in test 1174. 
  11. “curl - How To Use”. 《curl.se》. 
  12. “Open Source Components for the Native SDK for BlackBerry Tablet OS”. 2013년 1월 27일에 원본 문서에서 보존된 문서. 2017년 9월 19일에 확인함. 
  13. “Third-party open-source software Curl”. 《Gitee》. OpenAtom OpenHarmony. 2024년 3월 17일에 확인함. 
  14. “Third-party open-source software Curl”. 《GitHub》. OpenAtom OpenHarmony. 2024년 3월 17일에 확인함. 
  15. “Tar and Curl Come to Windows!”. 《techcommunity.microsoft.com》. 2019년 3월 22일. 
  16. “libcurl bindings”. curl.se. 
  17. “curl supports rustls | daniel.haxx.se” (미국 영어). 2021년 2월 9일. 2022년 1월 1일에 확인함. 
  18. Del, Ryan ( 2 March 2018). “Comandi equivalenti a cURL e Wget per Windows command-line con Powershell” [cURL and Wget equivalent commands for Windows command-line with Powershell] (html). 《Ryadel》 (이탈리아어). 4 January 2020에 확인함. Per emulare il comportamento del comando Linux cURL, è sufficiente creare un file cURL.ps1 contenente la seguente riga di codice 

외부 링크[편집]