오늘은 지난번 포스팅에 이어서 API 이야기를 계속 하겠습니다. 이번 포스팅에서는 간단하게 무료 API를 사용해보겠습니다.
CoinDesk는 Yahoo Finance와 같은 화폐 정보 웹사이트이지만 암호화폐에 관한 정보를 제공하는 사이트입니다. CoinDesk는 최신 비트코인 가격을 제공하는 무료 오픈 API를 제공합니다. 우리는 이 CoinDesk API와 상호 작용하여 클래식 유틸리티 cURL을 사용하여 최신 비트코인 가격을 가져올 것입니다.
하지만 그 전에 즐겨 사용하는 웹 브라우저(Firefox, Chrome, Edge 등)를 열고 아래 웹사이트 주소를 열어보세요.
https://api.coindesk.com/v1/bpi/currentprice.json
브라우저에 아래와 같이 겉보기에 비밀스러워 보이는 텍스트가 표시되는 것을 보실겁니다:
이게 다 뭐죠?? 이건 API가 보낸 응답입니다. 브라우저를 사용하여 위 URL을 열었을 때 실제로 수행한 작업은 다음과 같습니다:
1. 브라우저를 사용하여 엔드포인트로 "GET" 요청을 했습니다
2. 그런 다음 API가 응답을 두 개의 구성 요소와 함께 우리한테 응답(Response)를 보냈습니다:
- 요청이 유효했음을 나타내는 HTTP 200 OK Status
- 설명서에 명시된 데이터가 있는 페이로드
3. 그런 다음 브라우저가 이 데이터를 수신하고 우리가 볼 수 있도록 렌더링했습니다
그래서, 브라우저는 방금 CoinDesk API와 상호작용을 했습니다. 그러나 만약 누군가가 비트코인 가격을 추적하기 위한 앱을 만들고 싶다면, 이걸로는 아직 부족합니다. 왜냐하면 이 작업을 하기 위해서는 브라우저를 열고 URL을 입력한 다음 결과를 복사해서 데이터로 사용해야하기 때문입니다. 특히 요즘 같은 빨리 빨리 문화에서는 이런 오래 걸리는 걸 사람들이 싫어합니다.
그래서! 프로그램에 사용하기 위해서는 이 데이터를 프로그래밍적으로 얻을 수 있어야 합니다. 한 단계 더 깊이 들어가서 한 번 시도해 보겠습니다. Window OS 윈도우 사용자라면: ⊞ 윈도우 키 + R 키를 누르고 나온 입력창에서 CMD 라고 치고 Enter를 누르고 Command Line창을 실행해서 다음과 같이 입력합니다:
Linux 리눅스나 Mac OS 사용자라면: Command + 스페이스바 키를 누르고 Terminal라고 치고 엔터를 누릅니다. 그 다음 나온 Terminal 창에서 이전과 똑같이 명령어를 입력합니다:
위와 같은 URL을 endpoint "엔드포인트"라고도 하며, 명령을 실행하면 다음과 같은 응답을 확인하실수 있습니다:
이제 차근 차근 설명을 드리겠습니다. cURL은 거의 25년 전에 개발된 명령줄 유틸리티로, 주요 기능은 URL에서 응답을 가져오는 것입니다. cURL과 함께 'i' 플래그를 사용하면 출력에 프로토콜 응답 헤더가 포함되며 'X'를 사용하면 "GET"에서 사용되는 메소드를 정의할 수 있습니다.
HTTP/1.1 200 OK 라고 쓰인 첫번째 줄은 응답 상태 코드라고 불립니다. 200 OK 응답 코드는 요청이 유효했고 성공적이었다는 것을 의미합니다. 엔드포인트 URL을 변경한 후 다시 시도하면 서버에서 요청을 처리할 수 없음을 의미하는 HTTP/1.1404 Not Found 오류가 발생합니다.
그 외에도 몇 가지 응답 코드가 있으며, 대부분은 우리 애플리케이션에서 자동으로 생성됩니다. 그러나 이 링크에서 이런 코드들에 대해 자세히 읽을 수 있습니다.
괄호 {} 안에 있는 응답 내용 부분은 엔드포인트에서 데이터를 저장하고 주고 받는 데 사용되는 JSON이라는 표준 형식을 따릅니다.다음 포스팅에서는 이 JSON 형식에 대해서 더 자세히 알아보겠습니다.
'IT - 프로그래밍 > 파이썬' 카테고리의 다른 글
API가 필요한 이유 (0) | 2023.09.26 |
---|---|
JSON 형식이란? (0) | 2023.09.25 |
Web API란 무엇인가? (0) | 2023.09.23 |
파이썬 자료형 다루기: 기초연산 및 입출력 방법 (0) | 2023.08.05 |
파이썬 설치하기 (0) | 2023.05.02 |