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
'🐧 리눅스 𝐋𝐢𝐧𝐮𝐱' 카테고리의 다른 글
Elasticsearch version 버전 확인 (0) | 2023.02.28 |
---|---|
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===Authentication is required to manage system services or units. (0) | 2023.01.19 |
top 명령어 메모리 관련 VIRT, RES, SHR, %MEM (0) | 2022.12.27 |
ubuntu(20.04.4) nodejs, npm 제거 (0) | 2022.06.10 |
masOS 맥 실행중인 포트 확인, 포트 죽이기 (0) | 2022.01.17 |
댓글