Selam Python meraklıları! İster deneyimli bir geliştirici olun, ister yeni başlıyor olun, API'lerle çalışmak günümüzün teknoloji ortamında kaçınılmaz bir şeydir. API'lerle etkileşimin önemli bir yönü, isteklerinizin durumunu nasıl kontrol edeceğinizi bilmektir. Bu sadece sorunları gidermenize yardımcı olmakla kalmaz, aynı zamanda uygulamanızın beklendiği gibi davrandığından da emin olur. Bu blog yazısında, Python'da istek durumlarını kontrol etmeye derinlemesine dalacağız. Temel bilgilerden gelişmiş tekniklere kadar her şeyi ele alacağız ve sonunda API yanıtlarını yönetme konusunda uzman olacaksınız. Ayrıca, API geliştirme sürecinizi kolaylaştırmak için harika bir araç olan Apidog'u da tanıtacağız. Hazır mısınız? Başlayalım!
API İstekleri Nelerdir?
API istekleri, uygulamalarımızın diğer hizmetlerle iletişim kurma şeklidir. API'leri (Uygulama Programlama Arayüzleri), farklı yazılım sistemlerini birbirine bağlayan, bunların veri ve işlevsellik paylaşmasına olanak sağlayan köprüler olarak düşünün. Bir API isteği yaptığınızda, temelde başka bir hizmetten size bazı bilgiler sağlamasını veya belirli bir eylemi gerçekleştirmesini istiyorsunuz.
Python Ortamınızı Kurma
İstek durumlarını kontrol etmeye dalmadan önce, Python ortamımızı kuralım. Makinenizde Python'un yüklü olması gerekir. Henüz yapmadıysanız, resmi Python web sitesine gidin ve en son sürümü indirin.

Ardından, requests
kütüphanesini yüklemeniz gerekecek. Bu kütüphane, Python kullanarak HTTP istekleri göndermeyi inanılmaz derecede kolaylaştırır. Terminalinizi veya komut isteminizi açın ve aşağıdaki komutu çalıştırın:
pip install requests
Harika! Artık API istekleri yapmaya hazırsınız.
İlk API İsteğinizi Yapma
İşleri basit bir API isteğiyle başlatalım. Rastgele şakalar sağlayan genel bir API kullanacağız. İşte başlamanız için küçük bir kod parçacığı:
import requests
response = requests.get('https://official-joke-api.appspot.com/random_joke')
print(response.json())
Bu kodu çalıştırın; rastgele bir şaka yazdırıldığını görmelisiniz. Oldukça havalı, değil mi?
İstek Durumunu Kontrol Etme
requests
Kütüphanesini Kullanma
Şimdi, ana konuya odaklanalım: isteklerimizin durumunu kontrol etmek. Her API isteği yaptığınızda, sunucu bir durum koduyla yanıt verir. Bu kod, isteğinizin başarılı olup olmadığını veya bir sorun olup olmadığını size bildirir.
requests
kütüphanesi, bir yanıtın durum kodunu kontrol etmeyi kolaylaştırır. İşte nasıl yapabileceğiniz:
import requests
response = requests.get('https://official-joke-api.appspot.com/random_joke')
print(response.status_code)
Bu, yanıtın durum kodunu yazdıracaktır. 200
durum kodu her şeyin yolunda gittiği anlamına gelirken, diğer kodlar çeşitli sorunları gösterir.
HTTP Durum Kodlarını Anlama
Bazı yaygın HTTP durum kodlarına ve bunların ne anlama geldiğine hızlıca bir göz atalım:
- 200 OK: İstek başarılıydı ve sunucu istenen verileri döndürdü.
- 201 Created: İstek başarılıydı ve yeni bir kaynak oluşturuldu.
- 400 Bad Request: Geçersiz sözdizimi nedeniyle sunucu isteği anlayamadı.
- 401 Unauthorized: İstenen yanıtı almak için istemcinin kimliğini doğrulaması gerekir.
- 404 Not Found: Sunucu istenen kaynağı bulamadı.
- 500 Internal Server Error: Sunucu, isteği yerine getirmesini engelleyen beklenmedik bir durumla karşılaştı.
Farklı Durum Kodlarını İşleme
Farklı durum kodlarını nasıl işleyeceğinizi anlamak, sağlam uygulamalar oluşturmak için çok önemlidir. Bazı örneklere göz atalım.
200 OK
200 OK
durum kodu aldığınızda, bu isteğinizin başarılı olduğu anlamına gelir. İşte nasıl işleyebileceğiniz:
if response.status_code == 200:
print("İstek başarılıydı!")
print(response.json())
else:
print("Bir şeyler ters gitti!")
404 Not Found
404 Not Found
durum kodu, istenen kaynağın bulunamadığını gösterir. Bunu uygulamanızda zarif bir şekilde ele almak isteyebilirsiniz:
if response.status_code == 404:
print("Kaynak bulunamadı.")
else:
print("Bir şeyler ters gitti!")
500 Internal Server Error
500 Internal Server Error
durum kodu, sunucu tarafında bir şeylerin ters gittiği anlamına gelir. İşte bununla nasıl başa çıkabileceğiniz:
if response.status_code == 500:
print("Dahili sunucu hatası. Lütfen daha sonra tekrar deneyin.")
else:
print("Bir şeyler ters gitti!")
İstek Durumunu Kontrol Etmek İçin Gelişmiş Teknikler
Hata İşleme İçin try-except
Kullanma
Kodunuzu daha sağlam hale getirmek için, istisnaları işlemek üzere try-except
bloklarını kullanabilirsiniz. Bu şekilde, bir şeyler ters giderse uygulamanız çökmez:
try:
response = requests.get('https://official-joke-api.appspot.com/random_joke')
response.raise_for_status() # Durum 4xx, 5xx ise HTTPError yükseltir
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP hatası oluştu: {err}")
except Exception as err:
print(f"Başka bir hata oluştu: {err}")
Başarısız İstekler İçin Yeniden Denemeler Uygulama
Bazen, istekler geçici sorunlar nedeniyle başarısız olabilir. Yeniden denemeler uygulamak, uygulamanızın güvenilirliğini artırmaya yardımcı olabilir. requests
kütüphanesi kutudan çıktığı gibi yeniden denemeleri desteklemez, ancak bunu başarmak için urllib3
kütüphanesini kullanabilirsiniz:
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
session = requests.Session()
retry = Retry(
total=3, # Toplam yeniden deneme sayısı
backoff_factor=0.1, # Yeniden denemeler arasındaki bekleme süresi
status_forcelist=[500, 502, 503, 504] # Bu durum kodları için yeniden dene
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
try:
response = session.get('https://official-joke-api.appspot.com/random_joke')
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP hatası oluştu: {err}")
except Exception as err:
print(f"Başka bir hata oluştu: {err}")
Daha İyi API Yönetimi İçin Apidog'u Entegre Etme
Artık Python'da istek durumlarını nasıl kontrol edeceğinizi bildiğinize göre, Apidog'dan bahsedelim. Apidog, API geliştirmeyi basitleştiren harika bir araçtır. API'leri tasarlamak, test etmek ve yönetmek için bir dizi özellik sunar. Apidog ile şunları yapabilirsiniz:
Apidog kullanarak Python API isteği nasıl gönderilir
- Apidog'u açın ve yeni bir istek oluşturmak için "Yeni İstek" düğmesine tıklayın.

2. İsteğin yöntemi olarak "GET"i seçin.

3. API uç noktasının URL'sini girin

Ardından, isteği API'ye göndermek için "Gönder" düğmesine tıklayın.

Gördüğünüz gibi, Apidog size isteğin URL'sini, parametrelerini, başlıklarını ve gövdesini ve yanıtın durumunu, başlıklarını ve gövdesini gösterir. Ayrıca, isteğin ve yanıtın yanıt süresini, boyutunu ve biçimini görebilir ve bunları farklı web API'leriyle karşılaştırabilirsiniz.
Apidog kullanarak Python otomasyon testi nasıl yapılır
Apidog kullanarak API testini otomatikleştirme konusunda adım adım bir kılavuz:
Apidog Projenizi açın ve test arayüzüne geçin

Test Senaryolarınızı Tasarlayın: Test senaryolarınızı Apidog'da tasarlayabilirsiniz.

Testlerinizi Çalıştırın: Testlerinizi Apidog'da çalıştırabilirsiniz.

Test Sonuçlarını Analiz Edin ve Optimize Edin: Testlerinizi çalıştırdıktan sonra, test sonuçlarını analiz edebilir ve testlerinizi buna göre optimize edebilirsiniz.

Apidog'u iş akışınıza entegre etmek, zamandan tasarruf etmenizi ve API geliştirmedeki yaygın tuzaklardan kaçınmanıza yardımcı olabilir.
Sonuç
Bu blog yazısında, Python'da istek durumlarını kontrol etmenin temel unsurlarını ele aldık. İlk API isteğinizi yapmaktan, farklı durum kodlarını işlemeye ve gelişmiş hata işleme tekniklerini uygulamaya kadar, artık daha sağlam ve güvenilir uygulamalar oluşturmak için bilgiyle donatıldınız.
Apidog gibi araçları kullanmanın, API geliştirme sürecinizi daha da kolaylaştırabileceğini, API'lerinizi yönetmeyi ve hatalarını ayıklamayı kolaylaştırabileceğini unutmayın. O halde, denemekten çekinmeyin!
İyi kodlamalar!