cURL (/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/2 및 HTTP/3 , HTTP POST , HTTP PUT , HTTP 프록시 터널링, HTTPS , 인터넷 메시지 접속 프로토콜 , 커버로스 , LDAP , MQTT , POP3 , RTSP , RTMP , SCP , SMTP 및 SMB 을 지원한다. 라이브러리는 파일 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]
libcurl 라이브러리는 자유 소프트웨어이며 스레드 안전 하며 IPv6 과 호환된다. C / C++ , 자바 , 줄리아 (번들 포함), PHP 및 파이썬 을 포함하여 50개 이상의 언어 에서 언어 바인딩 으로 사용할 수 있다.[ 16]
libcurl 라이브러리는 IBM i 의 GnuTLS, mbed TLS, NSS , gskit , 윈도우의 보안 지원 제공자 인터페이스 , macOS 및 iOS의 Secure Transport, OpenSSL , BoringSSL , LibreSSL , AmiSSL , WolfSSL , BearSSL 및 Rustls 을 통한 전송 계층 보안 을 지원한다.[ 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 – 관련 라이브러리는 없지만 재귀적으로 다운로드할 수 있는 유사한 명령줄 도구
각주
↑ Stenberg, Daniel (2015년 3월 20일). “curl, 17 years old today” . 《daniel.haxx.se》. 2015년 3월 20일에 확인함 .
↑ “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.
↑ "curl 8.15.0" ; 저자 이름: Daniel Stenberg; 저작물·명칭의 언어: 영어; 출판 날짜: 2025년 7월 16일; 확인한 날짜: 2025년 7월 16일.
↑ “curl - Frequently Asked Questions” . 《curl.se》.
↑ Stenberg, Daniel. “Origin of the name” . 《curl.se》 (영어). 2021년 3월 27일에 확인함 .
↑ “History of curl” (미국 영어). fossies.org. 2021년 9월 17일에 원본 문서 에서 보존된 문서. 2021년 5월 11일에 확인함 .
↑ “Changelog” (영어). 4 January 2020. 4 January 2020에 확인함 . The first curl release. The tool was named urlget before this. And httpget before that.
↑ Stenberg, Daniel ( 4 January 2020). “Restored complete curl changelog” (html) . 《Haxx Se》. 2 January 2020에 확인함 .
↑ 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에 확인함 .
↑ 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.
↑ 가 나 “curl - How To Use” . 《curl.se》.
↑ “Open Source Components for the Native SDK for BlackBerry Tablet OS” . 2013년 1월 27일에 원본 문서 에서 보존된 문서. 2017년 9월 19일에 확인함 .
↑ “Third-party open-source software Curl” . 《Gitee》. OpenAtom OpenHarmony. 2024년 3월 17일에 확인함 .
↑ “Third-party open-source software Curl” . 《GitHub》. OpenAtom OpenHarmony. 2024년 3월 17일에 확인함 .
↑ “libcurl bindings” . curl.se.
↑ “curl supports rustls | daniel.haxx.se” (미국 영어). 2021년 2월 9일. 2022년 1월 1일에 확인함 .
↑ 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
외부 링크
파일 시스템 (기본) 파일 시스템 (확장) 프로세스 관련 사용자 환경 텍스트 처리 셸 프로그래밍네트워크 관련 검색 관련 기타