curl 개요
curl은 명령어로 데이터를 전송할 수 있는 도구이다.
업로드, 다룬로드 모두 가능하며 HTTP, HTTPS, FTP, LDAP, TELNET, SMTP, POP3, SCP등 주요 프로토콜을 지원한다.
윈도우, 유닉스, 리눅스등 다양한 플랫폼에서 실행가능한다.
설치
리눅스나 Mac OS X는 기본적으로 설치되어 있다.
윈도우에서는
https://winampplugins.co.uk/curl/ 에서 다운로드 받아서 설치한다.
curl 사용법
curl [options...] <URL> |
옵션은 -short 형식 과 --long형식 두가지를 사용할 수 있다.
HTTP/HTTPS 옵션 정리
-k --insecure
https 사이트를 SSL certificate 검증없이 연결한다.
-l --head
HTTP header 만 보여주고 content 는 표시하지 않는다
-D --dump-header <file>
<file> 에 HTTP header 를 기록한다.
-L --location
서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다.
--max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다. 기본 값은 50이다
curl -v daum.net 을 실행하면 결과값으로 다음과 같이 HTTP 302 가 리턴된다.
-L 옵션을 추가하면 www.daum.net 으로 재접속하여 결과를 받아오게 된다.
-d --data
HTTP Post data
FORM 을 POST 하는 HTTP나 JSON 으로 데이타를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션이다
-v --verbose
동작하면서 자세한 옵션을 출력한다.
-J --remote-header-name
어떤 웹서비스는 파일 다운로드시 Content-Disposition Header 를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다.
-o --output FILE
curl 은 remote 에서 받아온 데이타를 기본적으로는 콘솔에 출력한다. -o 옵션 뒤에 FILE 을 적어주면 해당 FILE 로 저장한다. (download 시 유용)
-O --remote-name
file 저장시 remote 의 file 이름으로 저장한다. -o 옵션보다 편리하다.
-s --silent
정숙 모드. 진행 내역이나 메시지등을 출력하지 않는다. -o 옵션으로 remote data 도 /dev/null 로 보내면 결과물도 출력되지 않는다.
HTTP response code 만 가져오거나 할 경우 유리하다.
'4차산업 > 블록체인' 카테고리의 다른 글
Golang Basic (0) | 2019.01.13 |
---|---|
Hyperledger Fabric 특징과 구성요소 (0) | 2019.01.03 |
이더리움 스마트 건트랙트 시큐어코딩 (0) | 2018.12.05 |
[블록체인 05] 해싱 (0) | 2018.04.10 |
[블록체인 04-1] 블록체인은 어떻게 작동하는가? (0) | 2018.04.08 |