본문 바로가기
IT/Linux

curl

by 성준하이 2023. 3. 27.
반응형

원래는 linux의 명령어였으나 이전부터 윈도우에서도 설치하고 환경변수를 잡아주면 사용이 가능한 curl 에 대해서 알아볼 것이다.

 

curl 명령어란?

리눅스에서 curl 이라는 http 메시지를 쉘상에서 요청하여 결과를 확인하는 명령어 이며,

curl 명령어는 http를 이용하여 경로의 데이터를 가져온다.

 

curl 장점

리눅스 커맨드 창에서 http 통신 요청을 했을 때 리턴 되는 값을 확인 할 수 있다.

OS가 Window일 경우 다양한 브라우저를 통해 특정 url 요청할 경우 확인할 수 있으나

서버에 직접 붙는 PC가 아니라면 http통신 요청을 확인할 수 있는 명령어 이다.

 

설치법
리눅스 sudo apt update
sudo apt install curl
sudo yum install curl
윈도우 https://curl.se/windows/

리눅스는 레드햇과 데비안 계열의 명령어이다.

 

사용법

curl [options] [URL...]

 

좀더 예시를 들면 

curl www.google.com 

이렇게 사용을 할수가 있다.

 

주요 옵션
-k --insecure https 사이트를 SSL certificate 검증없이 연결한다. wget 의 --no-check-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 가 리턴된다.
< HTTP/1.1 302 Object Moved
< Location: http://www.daum.net/

-L 옵션을 추가하면 www.daum.net 으로 재접속하여 결과를 받아오게 된다.
-d --data HTTP Post data FORM 을 POST 하는 HTTP나 JSON 으로 데이타를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션이다
-v --verbose  동작하면서 자세한 옵션을 출력한다.  
-J --remote-header-name 어떤 웹서비스는 파일 다운로드시 Content-Disposition Header 를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다. curl 7.20 이상부터 추가된 옵션
-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 만 가져오거나 할 경우 유리
-X --request Request 시 사용할 method 종류(GET, POST, PUT, PATCH, DELETE) 를 기술한다.  
반응형

댓글