Curl?
curl
은 여러 도구 중에서도 HTTP와 HTTPS 프로토콜로 통신할 수 있는 비교적 간단한 명령줄 도구다.
curl
은 HTTP 프로토콜을 처리함으로써 인증 테스트, 데이터 게시, SSL 사용과 GUI 웹브라우저에서 당연하게 여겨질 만한 각종 기능을 훨씬 용이하게 만들어주므로 웹 서버 문제를 해결하는데 원시 텔넷에 비해 이점이 많다.
아래와 같은 방식으로 curl
명령어를 이용해 http://naver.com
으로 HTTP요청을 보내면 html 형태로 응답이 오게 된다.
1 |
|
문법
Keyword | Description |
---|---|
-k | https 사이트를 SSL certificate 검증없이 연결한다. |
-l | HTTP header 만 보여주고 content 는 표시하지 않는다 |
-D | |
-L | 서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다. |
-d | HTTP Post data |
-v | 동작하면서 자세한 옵션을 출력한다. |
-J | 어떤 웹서비스는 파일 다운로드시 Content-Disposition Header 를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다. |
-o | curl 은 remote 에서 받아온 데이타를 기본적으로는 콘솔에 출력한다. -o 옵션 뒤에 FILE 을 적어주면 해당 FILE 로 저장한다. (download 시 유용) |
-O | file 저장시 remote 의 file 이름으로 저장한다. -o 옵션보다 편리하다. |
-s | 정숙 모드. 진행 내역이나 메시지등을 출력하지 않는다. -o 옵션으로 remote data 도 /dev/null 로 보내면 결과물도 출력되지 않는다 |
사용법
다운로드 받은 파일을 콘솔로 출력
1 |
|
지정한 이름으로 저장
1 |
|
서버의 filename으로 저장
1 |
|
여러 url에서 동시에 다운로드
1 |
|