프로젝트를 진행하던 중 API가 정상적으로 작동하지 않는 문제를 발견했습니다. 이 상황을 백엔드 담당자에게 전달하자, 담당자는 재현 가능한 요청을 보내달라고 요청했습니다. 당시에는 '재현 가능한 요청'이 무엇을 의미하는지 몰랐기 때문에 단순히 실패하는 요청을 다시 보냈습니다.
백엔드 담당자는 curl 형식으로 재현 가능한 요청을 보내달라고 했고, 이때 처음으로 curl이라는 도구에 대해 알게 되었습니다.
이슈를 해결한 후, curl에 대해 더 깊이 학습해야겠다는 필요성을 느끼게 되었습니다.
curl 이란 client URL의 줄임말로 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다.
주로 웹에서 데이터를 가져오거나 업로드할 때 사용됩니다.
curl은 다양한 프로토콜(HTTP, HTTPS, FTP, FTPS, SCP, SFTP, SMTP, POP3, IMAP)을 지원하며, 스크립트나 명령줄에서 HTTP 요청을 보내고 응답을 확인하는 데 매우 유용합니다.
curl의 기본 구문은 다음과 같습니다.
curl [options] [URL]
주요 옵션들
HTTP,HTTPS 에서의 사용 예제
curl https://api.example.com/data
curl -X POST https://api.example.com/data -d '{"key":"value"}' -H "Content-Type: application/json"
curl https://api.example.com/data -H "Authorization: Bearer your_token_here"
curl -o filename.zip https://example.com/file.zip
curl -i https://api.example.com/data
curl -u username:password https://api.example.com/protected
예를 들어 로그인 요청을 재현하려면
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-H "Authorization: Bearer exampletoken123" \
-d '{"username":"user@example.com","password":"password123"}'
이 명령은 다음을 포함합니다