오류 처리

Python으로 배우는 API 입문

Chris Ramakers

Engineering Manager

오류 상태 코드

4xx 클라이언트 오류


  • 클라이언트 측 문제를 의미함
  • 예: 잘못된 요청, 인증 실패 등

해결: 요청을 수정

5xx 서버 오류


  • 서버 측 문제에서 발생
  • 예: 서버 과부하, 설정 오류, 내부 오류

해결: API 관리자가 수정해야 함

Python으로 배우는 API 입문

오류 상태 코드: 예시

4xx 클라이언트 오류


  • 401 Unauthorized - 요청된 리소스에 유효한 인증 정보가 없음
  • 404 Not Found - 서버가 요청한 리소스를 찾지 못함
  • 429 Too Many Requests - 주어진 시간에 요청을 너무 많이 보냄

5xx 서버 오류


  • 500 Internal Server Error - 예기치 않은 문제로 응답을 반환할 수 없음
  • 502 Bad Gateway - 응답 완료에 필요한 다른 서버에 정상적으로 연결하지 못함
  • 504 Gateway Timeout - 게이트웨이 역할의 서버가 상위 서버로부터 제때 응답을 받지 못함
Python으로 배우는 API 입문

오류 처리

API 오류

import requests

url = 'http://api.music-catalog.com/albums'

r = requests.get(url)

if r.status_code >= 400: # 오류 발생
else: # 정상, 응답으로 작업 진행

연결 오류

import requests

from requests.exceptions import ConnectionError
url = ''
try: r = requests.get(url) print(r.status_code)
except ConnectionError as conn_err: print(f'Connection Error! {conn_err}.') print(error)
Python으로 배우는 API 입문

raise_for_status()

import requests

# 1: requests 라이브러리의 예외 가져오기 from requests.exceptions import ConnectionError, HTTPError
try:
r = requests.get("http://api.music-catalog.com/albums")
# 2: 오류 상태 코드에 대해 예외 발생 활성화 r.raise_for_status()
print(r.status_code)
# 3: 모든 연결 오류 처리 except ConnectionError as conn_err: print(f'Connection Error! {conn_err}.')
# 4: API 서버의 오류 응답 처리 except HTTPError as http_err: print(f'HTTP error occurred: {http_err}')
Python으로 배우는 API 입문

Passons à la pratique !

Python으로 배우는 API 입문

Preparing Video For Download...