본문 바로가기
Engineering/OS -Linux, Windows, EXSi

curl : 자주 활용하는 options

by 알탱2 2022. 2. 18.
반응형

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 호출을 할 수 있음

반응형

댓글