Bash:
HTTP 요청 보내기
How to: (방법)
Bash에서는 curl
이라는 명령어로 HTTP 요청을 보냅니다. 간단한 GET 요청부터 시작해보겠습니다:
curl http://example.com
출력:
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
</html>
POST 요청으로 데이터를 보내려면 다음과 같이 할 수 있습니다:
curl -d "param1=value1¶m2=value2" -X POST http://example.com/post
데이터를 JSON 형식으로 보내려면:
curl -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}' http://example.com/post
Deep Dive (심층 탐구)
과거에는 웹 서버에 요청을 보내기 위해 복잡한 소켓 프로그래밍이 필요했습니다. curl
은 1997년 Daniel Stenberg에 의해 개발되었으며, 커맨드 라인에서 간단하게 웹 통신를 가능하게 했습니다.
대안으로는 wget
이 있지만, 주로 파일을 다운로드하는데 쓰입니다. curl
은 좀 더 다양한 프로토콜과 요청 타입을 지원합니다.
HTTPRequest하는 방법으로 패키지 관리 시스템이나, 가상 환경 도구에서 사용되는 내장 함수들이 있습니다만, bash에서는 curl
과 같은 명령어가 가장 직관적이고 간단합니다.
쉘 스크립트에서 HTTP 요청을 보낼 때에는 응답 체크, 에러 핸들링, 응답 데이터 파싱 등 추가적인 구현이 필요할 수 있습니다.
See Also (추가 정보)
curl
공식 문서: https://curl.se/docs/- HTTP 요청에 대한 자세한 설명: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
wget
vscurl
: https://daniel.haxx.se/docs/curl-vs-wget.html