카테고리 없음

curl로 POST 요청 보내기

idea9329 2025. 1. 20. 12:28
반응형

 

curl은 HTTP 요청을 보내기 위한 강력한 명령줄 도구입니다. 아래는 curl을 사용하여 POST 요청을 보내는 다양한 방법과 예제입니다.


1. 간단한 POST 요청

curl -X POST https://example.com/api
  • -X POST는 POST 요청을 지정합니다.
  • 이 명령어는 요청 본문 없이 기본적인 POST 요청을 보냅니다.

2. POST 요청에 데이터 추가

(1) URL-Encoded Form 데이터

curl -X POST -d "key1=value1&key2=value2" https://example.com/api
  • -d 옵션으로 데이터를 전달합니다.
  • 데이터는 application/x-www-form-urlencoded 형식으로 전송됩니다.

(2) JSON 데이터

curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' https://example.com/api
  • -H로 HTTP 헤더를 설정하여 Content-Type: application/json을 지정합니다.
  • -d 옵션으로 JSON 데이터를 전달합니다.

3. POST 요청에 파일 전송

(1) 파일 업로드

curl -X POST -F "file=@/path/to/file" https://example.com/upload
  • -F 옵션을 사용해 파일을 전송합니다.
  • @ 뒤에 파일 경로를 적습니다.

(2) 파일과 데이터 함께 전송

curl -X POST -F "file=@/path/to/file" -F "key1=value1" https://example.com/upload
  • 여러 개의 -F 옵션으로 파일과 데이터를 함께 전송할 수 있습니다.

4. 인증이 필요한 POST 요청

(1) 기본 인증 (Basic Auth)

curl -X POST -u username:password -d "key=value" https://example.com/api
  • -u username:password 옵션으로 기본 인증을 추가합니다.

(2) Bearer 토큰 인증

curl -X POST -H "Authorization: Bearer YOUR_TOKEN" -d '{"key":"value"}' https://example.com/api
  • -H 옵션으로 Authorization 헤더에 토큰을 추가합니다.

5. POST 요청의 전체 응답 보기

(1) 응답 헤더와 본문 확인

curl -X POST -d "key=value" -i https://example.com/api
  • -i 옵션으로 응답 헤더와 본문을 함께 출력합니다.

(2) 응답 본문만 확인

curl -X POST -d "key=value" -s https://example.com/api
  • -s 옵션은 진행 상황 메시지를 숨기고 응답 본문만 출력합니다.

6. POST 요청 결과를 파일로 저장

curl -X POST -d "key=value" -o response.json https://example.com/api
  • -o 옵션으로 응답 결과를 파일로 저장합니다.

예제 정리

JSON 데이터 전송

curl -X POST -H "Content-Type: application/json" -d '{"username":"test","password":"1234"}' https://example.com/login

파일 업로드

curl -X POST -F "file=@/path/to/image.jpg" https://example.com/upload

Bearer 토큰 인증 사용

curl -X POST -H "Authorization: Bearer YOUR_TOKEN" -d '{"data":"value"}' https://example.com/protected

궁금한 점이 있거나 추가적인 예제가 필요하면 말씀해주세요! 😊

반응형