흔히 API (Application Programming Interface)라는 것을 파이썬에서는 어떻게 사용하는지 알아보기로 한다. 실제로 게임을 개발할 때 서버와의 통신을 할 경우가 많았는데 그 때 서버에서 만들어 둔 API를 호출하기만 하면 원하는 결과를 얻을 수 있어서 정말 유용하게 생각하는 기능이다. 이처럼 API라는 것은 외부의 특정 한 시스템에서 만들어진 기능을 우리가 만드는 프로그램에서 요청하고 결과를 받아서 쓸 수 있는 인터페이스로 이해하면 된다.
예를 들어서 현재 iss의 위도 경도를 가져오는 api (http://api.open-notify.org/iss-now.json)를 호출시켜보면 아래처럼 json 포맷으로 결과가 나오는 것을 볼 수 있다
이제 실제 Python 코드에서 어떻게 사용되는지 알아본다
# requests는 파이썬 내부 모듈로 있는 것이 아니라 패키지 설치가 필요하다
import requests
# end-point url을 인자로 넣어서 결과를 받아오자. 위 예시 스크린샷에서 보여준 링크 주소와 같다
response = requests.get(url="http://http://api.open-notify.org/iss-now.json")
# print로 결과를 보면 숫자 200만 표시되는 것을 볼 수 있다.
# 그리고 해당 응답 코드 (Response Codes) 숫자는 각각 의미가 있다.
# 유명한 웹사이트를 열었을 때 404가 뜨는 것고 같은 것 (위에 url에 오타가 있으면 볼 수 있음)
print(reponse)
# api response code 값에서 4xx처럼 에러가 있는 경우 오류를 뱉게 해주는 함수
response.raise_for_status()
# 실제 원하는 결과물 json 데이터
data = response.json()
print(data)
추가로 아래에서 Response Codes의 종류를 대강 알아본다
# 1XX : 무언가 진행 중이고 최종이 아니라는 의미
# 2XX : 정상 결과가 나왔음. 정상적으로 데이터를 받을 수 있을 것
# 3XX : 권한이 없다는 의미
# 4XX : 존재하지 않는 것처럼 잘못 된 경우
# 5XX : 요청을 한 서버가 잘못 되었음 (서버 이슈가 있을 것)
+ 추가적으로 response code에 대한 자세한 것은 링크 첨부
https://www.webfx.com/web-development/glossary/http-status-codes/
HTTP Status Codes Glossary
Wondering what an HTTP status code means? Browse this list of HTTP status codes for definitions and code references.
www.webfx.com
+ requests 설치 및 매뉴얼 확인을 위한 링크
https://pypi.org/project/requests/
requests
Python HTTP for Humans.
pypi.org
'Devs > Python' 카테고리의 다른 글
[Python] Dynamic Typing, Type Hint (0) | 2025.04.10 |
---|---|
[Python] Unescape (HTML 특수문자 처리) (0) | 2025.04.10 |
[Python] SMTP (0) | 2025.04.09 |
[Python] datetime 사용법 (0) | 2025.04.09 |
[Python] json 사용 방법 (0) | 2025.04.07 |