Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 4.26 KB

File metadata and controls

64 lines (49 loc) · 4.26 KB

Curl

1. curl 이란?


1.1. 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, FPT uploading, HTTP form 기반의 upload, proxies, cookies, user+password 인증도 제공.
  • cURL은 무료이며 많은 운영체제에서 컴파일되고 동작하는 open software이다.
  • libcurl은 일반 개발자가 많이 쓰는 HTTP,FTP를 시작해 매우 많은 프로토콜을 지원하는 무료 라이브러리이다.
  • url을 가지고 할 수 있는 것들은 다할 수 있다. 예를 들면, http 프로토콜을 이용해 웹 페이지의 소스를 가져온다거나 파일을 다운받을 수 있다. ftp 프로토콜을 이용해서는 파일을받을 수 있을 뿐 아니라 올릴 수도 있다. 심지어 SMTP 프로토콜을 이용하면 메일도 보낼 수 있다.

1.2. 사용법.


  • curl [-option] http://lchy0113.github.io 을 하게 되면 소스가 화면으로 출력된다.
  • 이 외에 옵션을 이용하여 사용할 수 있다.

1.3. 주요 옵션.


option 설명 비고
-O 파일 다운로드 curl -O http://lchy0113.github.io/file.zip
-i 헤더값 확인 curl -i http://lchy0113.github.io
-I 사이트의 Header와 바디 정보를 함께 가져오기.
-v request, response이 어떻게 오는지 확인.(헤더, 바디)
-k HTTPS 사이트를 SSL certificate 검증없이 연결.
-s 정숙 모드. 진행 내역이나 메시지등을 출력하지 않음.
-H 헤더 설정. 헤더 정보 전달.
-d HTTP Post data(FORM을 POST하는 HTTP나 JSON으로 데이터를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션)
-X request, Request시 사용할 method 종류(GET, POST, PUT, PATCH, DELETE)를 기술한다.

1.4. 같이 읽어보면 좋은 자료.


1.5. Links.


2. cURL, Client URL Library Functions


  • curl_init : 세션 초기화, 핸들값 리턴.
  • curl_setopt : 옵션 세팅.
  • curl_exec : curl을 실행.
  • curl_errno : 에러 번호를 가져온다.
  • curl_error : 에러 메시지를 가져온다.
  • curl_getinfo : 상태 정보를 리턴한다.
  • curl_close : curl 세션을 닫는다.