반응형
linux 환경에서 HTTP Request를 보내고자 할 때, curl은 종종 유용하게 쓰일 수 있다.
--help 옵션이나 man page를 통해서 훨씬 많은 옵션을 알 수 있으나, 그 중 유용하게 사용했던 옵션들을 몇 가지 뽑아서 간략한 설명 및 요청 예제를 정리해보려고 한다.
Example #1 : POST, form-data, file, header
curl --location --request POST 'http://localhost:8080/fileupload/' --header 'request-id: 12345' --form 'uuid=6032dc26-85b5-4808-a2c4-dd7f1d88c2e9' --form 'filepath=@"/home/test/a.jpg"' --form 'type=jpg'
--location : Follow redirects
--request, -X : Method. 생략할 경우(아래 #2)는 default GET
--header, -H : request header를 필요한만큼 추가. (--header 'key-id1: 12345' --header 'key-id2: 333')
--form : form-data로 추가하는 항목만큼 추가.
** file을 추가할 경우, keyname=@"{filename}" 으로 추가
Example #2 : GET, https (SSL)
curl --insecure https://127.0.0.1:8080/server/getinfo
-k, --insecure : https 요청 시, 이 옵션을 반드시 추가해야 함
Example #3 : PUT, body data(json), output(response) save
curl -X PUT -d '{"filetype": ["jpg"], "lists": {"filename1": "1.jpg", "filename2": "2.jpg"}}' -H "Content-Type: application/json" -o response.txt http://localhost:8080/fileinfo/
-d, --data : POST 또는 PUT 요청 시, 요청 body data를 추가할 수 있음. 위 예제는 json 형태의 body를 -d 옵션으로 추가
-o : response 결과를 file로 저장
Example #4 : unix-socket
curl --unix-socket /var/run/docker.sock "http://localhost/containers/8d60ed6b0926/stats?stream=false"
--unix-socket : unix socket에 연결하여 API 호출을 할 수 있음
반응형
'Engineering > OS -Linux, Windows, EXSi' 카테고리의 다른 글
docker : data root directory 변경하기 (0) | 2022.04.10 |
---|---|
(windows) [RDP Wrapper] Windows Remote Desktop / Multiple Sessions (1) | 2022.03.20 |
linux + docker 환경에서 netstat 로 ESTABLISHED socket 조회하기 (2) | 2022.01.24 |
Ubuntu에서 IP Address Setting 하기 (0) | 2022.01.17 |
자주 사용하는 docker 명령어(command) (0) | 2021.12.19 |
댓글