본문 바로가기
🐧 리눅스 𝐋𝐢𝐧𝐮𝐱

[Linux] curl 명령어 옵션, 사용 방법 (웹 요청 명령어)

by 비타민찌 2022. 12. 11.
728x90

cURL 명령행 기반 웹 요청 도구. 특히 REST 애플리케이션을 개발 테스트시에 유용하게 사용할 수 있다.

curl 공식 홈페이지 : http://curl.haxx.se/

 

curl 옵션

-X : 사용할 방식 메소드 선택하기

-d : 함께 전달할 파라미터값 설정하기

-G : 전송할 사이트 url 및 ip 주소

-H : 헤더 정보를 전달하기

-I : 사이트의 Header 정보만 가져오기

-i : 사이트의 Header와 바디 정보를 함께 가져오기

-u : 사용자 정보

 

 

GET

curl -v 기타 옵션 : 디버깅을 위해 요청과 응답 헤더까지 모두 표시

curl http://www.xxx.com : 일반 GET 요청

 

-I : 헤더만 가져오기

-i : 헤더와 바디까지 가져오기

 

 

POST

​curl -d "param1=xxx" www.호스트.com 

URL 인코딩된 파라미터를 앞에 쓰고, 그 뒤에 POST를 처리하는 주소를 넣는다. 파라미터는 무조건 먼저 인코딩 된 상태여야 한다. POST의 Content-Type은 application/x-www-form-urlencoded 이다.

 

 

파일 업로드

​curl -F upload=@파일명 -F press=OK www.호스트.com 

-F 폼필드명=@파일명

-F 폼필드명=폼필드값

Content-Type은 multipart/form-data

 

PUT

curl -T 업로드할파일명 www.호스트.com 

 

DELETE
curl -X DELETE www.data.com/resources/123

-X 는 요청을 보내는 method를 직접 지정해주는 옵션.

 

Authentication
Basic Auth : curl -u username:password www.호스트.com

 

간단한 Tomcat Context Reload 스크립트

curl -u TomcatAdmin 계정:비밀번호 localhost:8080/manager/html/reload?path=/

서버의 인증 방식에 따라 다음 옵션 가능 --ntlm --digest --negotiate --anyauth

 

Redirect
curl -L www.호스트.com

curl은 기본적으로 Redirect Header를 무시한다.

-L 을 붙이면 redirect 요청을 따라서 다음 페이지로 간다.

-d/-F 옵션을 통해 POST/PUT 요청등을 보내고 나서 redirect가 실행된다면 첫번째 요청은 POST/PUT으로 처리하고, 리다이렉트는 GET으로 처리한다.

 

Cookies

curl -b "name=ABC" www.cookiesite.com ​

Cookie key=value 쌍을 서버로 전송한다.

 

curl -D headers_and_cookies www.cookiesite.com 

headers_and_cookies 파일로 헤더 정보다 모두 저장된다. 헤더 정보에는 쿠키 정보도 포함되어 있다.

 

curl -b stored_cookies www.cookiesite.com

stored_cookies 파일에 저장된 쿠키 정보를 서버로 전송한다.

 

curl -b 존재하지않는파일명 -L www.cookiesite.com

서버에서 전송한 쿠키를 리다이렉트하면서 서버측에 재전송한다.

 

curl -b cookies.txt -c newcookies.txt www.cookiesite.com 

-b cookies.txt 는 이미 존재하는 쿠키 파일(Mozilla 호환)을 읽어서 서버에 전송하는 것이고,

-c newcookies.txt 는 새로 새성된 쿠키를 파일로 저장하는 것이다.

 

 

 

참고: https://coconuts.tistory.com/805

 

728x90

댓글