Hata işleme

Python ile API'lere Giriş

Chris Ramakers

Engineering Manager

Hata durum kodları

4xx İstemci Hataları


  • İstemci tarafındaki sorunları gösterir
  • Yaygın nedenler: Hatalı istekler, kimlik doğrulama hataları vb.

Çözüm: İsteği düzeltin

5xx Sunucu Hataları


  • Sunucu kaynaklı sorunlardan doğar
  • Yaygın nedenler: Aşırı yük, yapılandırma hataları, iç hatalar

Çözüm: API yöneticisi düzeltmelidir

Python ile API'lere Giriş

Hata kodları: örnekler

4xx İstemci Hataları


  • 401 Unauthorized - İstenen kaynak için geçerli kimlik doğrulama bilgileri yok
  • 404 Not Found - Sunucu istenen kaynağı bulamıyor
  • 429 Too Many Requests - Belirli bir sürede çok fazla istek gönderildi

5xx Sunucu Hataları


  • 500 Internal Server Error - Sunucu yanıt vermesini engelleyen beklenmeyen bir sorun yaşadı
  • 502 Bad Gateway - API sunucusu, yanıtı tamamlamak için ihtiyaç duyduğu diğer sunucuya erişemedi
  • 504 Gateway Timeout - Ağ geçidi olarak davranan sunucu, üst sunucudan zamanında yanıt alamadı
Python ile API'lere Giriş

Hataları ele alma

API hataları

import requests

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

r = requests.get(url)

if r.status_code >= 400: # Hata, bir şeyler ters gitti
else: # Her şey yolunda, yanıtla # bir şeyler yapalım

Bağlantı hataları

import requests

from requests.exceptions import ConnectionError
url = ''
try: r = requests.get(url) print(r.status_code)
except ConnectionError as conn_err: print(f'Bağlantı hatası! {conn_err}.') print(error)
Python ile API'lere Giriş

raise_for_status()

import requests

# 1: requests kütüphanesi istisnalarını içe aktarın from requests.exceptions import ConnectionError, HTTPError
try:
r = requests.get("http://api.music-catalog.com/albums")
# 2: Dönen hata durum kodları için istisna fırlatmayı etkinleştirin r.raise_for_status()
print(r.status_code)
# 3: Bağlantı hatalarını yakalayın except ConnectionError as conn_err: print(f'Bağlantı hatası! {conn_err}.')
# 4: API sunucusundan dönen hataları yakalayın except HTTPError as http_err: print(f'HTTP hatası oluştu: {http_err}')
Python ile API'lere Giriş

Haydi pratik yapalım!

Python ile API'lere Giriş

Preparing Video For Download...