유닉스 cURL

황제낙엽 2020.07.11 07:07 조회 수 : 15

@ cURL이란

cURL 명령어는 Client URL이라는 뜻으로, 다양한 프로토콜로 데이터를 전송해볼 수 있는 명령어 기반의 컴퓨터 프로그램이다. 

 

- 클라이언트에서 커맨드 라인이나 소스코드로 손 쉽게 웹 브라우저 처럼 활동할 수 있도록 해주는 기술이다.(커맨드라인 Tool 혹은 라이브러리)

- cURL은 아래와 같은 프로토콜 등에 의해 전송되는 파일들을 위한 command line tool이다. (다양한 프로토콜 지원)

- HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, SSL, HTTP POST, HTTP PUT, FTP uploading, HTTP form기반의 upload, proxies, cookies, user+password 인증도 제공한다.

- cURL은 무료이며, 많은 운영체제에서 컴파일되고 동작하는 open software이다.

- libcurl은 일반 개발자가 많이 쓰는 HTTP, FTP를 시작해 매우 많은 프로토콜을 지원하는 무료 라이브러리다.

- url을 가지고 할 수 있는 것들은 다할 수 있다. 예를 들면, http 프로토콜을 이용해 웹 페이지의 소스를 가져온다거나 파일을 다운받을 수 있다. 

- ftp 프로토콜을 이용해서는 파일을 받을 수 있을 뿐 아니라 올릴 수도 있다. 심지어 SMTP 프로토콜을 이용하면 메일도 보낼 수 있다

- 커맨드라인에서 REST API 요청을 보내기 위한 목적으로도 많이 쓰이는 명령어이다. -X 옵션을 통해 지원한다.

 

예를 들어 

 

curl -X GET http://127.0.0.1/api/users

curl -X POST http://127.0.0.1/api/users/input

 

이런 식으로, resty API를 사용해 쉽게 cURL rest api 테스트를 할 수도 있다.

 

 

 

@ 설치방법

# apt-get install curl

 

 

 

@ 버전확인

# curl -V

 

 

 

@ 주요옵션

옵션 설명
-H, --header 헤더를 보냄
-i, --include Include protocol headers in the output (H/F)
-I, --head Show document info only
-k, --insecure Allow connections to SSL sites without certs (H)
-s, --silent 진행 상태, 에러 메시지등을 보여주지 않음
-S, --show-error -s와 함께 사용되며 실패 시 에러메시지 출력
-L, --location 요청페이지가 다른 위치로 옮겨 졌을 경우 새로운 페이지로 다시 재요청
-X, --request HTTP 메소드를 설정 할 수 있음

 

 

 

@ wget과 curl의 차이점

캡처.JPG

* wget의 특징

▷ wget은 단지 ​HTTP  HTTPS  FTP 서버로부터 파일을 다운로드 받을수 있게 해준다

▷ link를 연결하면, 자동으로 link가 연결된 곳으로부터 파일을 자동으로 download 하게 된다

▷ wget은 요청을 자동으로 build 하게 된다

 

* curl의 특징

▷ Curl의 차이점은 요청을 자동으로 build 하는 것이 아니라 사용자가 원하면 요청을 build 한다

▷ 사용자에게 많은 자유도를 부여하고, 굉장한 debugging tool로 사용할 수 있다

▷ Curl은 HTTP HTTPS FTP FTPS Gopher SCP SFTP TFTP Telnet DICT LDAP LDAPS IMAP POP3 SMP RTSP URI를 지원한다

 

 

 

 

 

 

 

번호 제목 sitelink1 글쓴이 날짜 조회 수
91 Windows Terminal http://Microsoft Store  황제낙엽 2020.08.03 10
» cURL file https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_curl  황제낙엽 2020.07.11 15
89 VMware Player를 계속 무료로 사용할 수 있습니까? https://www.vmware.com/kr/products/player/faqs/faqs  황제낙엽 2015.06.26 173
88 버추얼박스 라이선스 정보 https://www.virtualbox.org/wiki/Licensing_FAQ  황제낙엽 2015.06.23 30
87 Windows에서 포트 포워딩(Port Forwarding) 설정하기 - Netsh https://www.tuwlab.com/ece/29011  황제낙엽 2020.07.14 11
86 [문법] 배치 명령어 기초 작성법 file https://www.snoopybox.co.kr/1404  황제낙엽 2020.05.21 40
85 inspect.exe (for win10) https://www.omnibuscode.com/board/index...._srl=52344  황제낙엽 2019.02.11 369
84 인증 오류가 발생했습니다(코드: 0x800706be). - 원격 데스크톱 연결/remote desktop file https://www.insanityinside.net/2019/10/m...-with.html  황제낙엽 2021.05.15 578
83 Can't use copy paste In Windows 10 (Clear your clipboard) https://www.drivereasy.com/knowledge/sol...t-working/  황제낙엽 2019.08.19 306
82 dig - 네임 서버(DNS) 진단을 위한 룩업 유틸리티 https://www.codns.com/b/B05-110  황제낙엽 2020.07.19 62
81 [Docker] 도커 레지스트리: 프라이빗 도커 이미지 저장소(설치부터 S3 연동까지) secret https://www.44bits.io/ko/post/running-do...s3-storage  황제낙엽 2020.07.17 0
80 [Docker] docker private registry(도커 사설 레지스트리)에 대하여 https://www.44bits.io/ko/post/running-do...s3-storage  황제낙엽 2020.07.17 19
79 이더넷 사용 안하도록 설정하는 명령어 (How to Disable a Network Adapter in Windows 10) file https://winaero.com/disable-network-adapter-windows-10  황제낙엽 2022.03.23 40
78 윈도우즈 콘솔 에뮬레이터 cmder file https://webdir.tistory.com/548  황제낙엽 2021.02.03 13
77 shutdown file https://terms.naver.com/entry.nhn?docId=...ryId=59321  황제낙엽 2018.07.06 124
76 rm (파일과 디렉터리를 삭제한다) https://terms.naver.com/entry.nhn?docId=...ryId=59321  황제낙엽 2020.07.12 26
75 자격 증명 관리자 (Credential Manager, 資格情報) file https://support.microsoft.com/ko-kr/wind...16e8165ac0  황제낙엽 2022.04.15 20
74 remote 원격 접속시 인증 오류 (CredSSP 암호화 Oracle 수정 때문일 수 있습니다) file https://support.microsoft.com/ko-kr/help...ch-13-2018  황제낙엽 2018.05.31 1439
73 오류 1719 (Error 1719 Windows Installer...) file https://support.microsoft.com/ko-kr/help...e-when-ins  황제낙엽 2020.09.13 47
72 Windows 10에서 Windows 업데이트가 임시로 다시 설치되지 않도록 하는 방법 https://support.microsoft.com/ko-kr/help...g-in-windo  황제낙엽 2020.11.22 57