HTTP Status Kodları ve Çözümleri
ProxyTurk API'den dönen tüm hata kodları, anlamları ve çözüm önerileri. Hata aldığınızda bu referansı kullanarak sorunu hızlıca çözebilirsiniz.
import proxyturkfrom proxyturk.exceptions import ( AuthenticationError, RateLimitError, InsufficientCreditsError, BadRequestError, ServerError)client = proxyturk.Client(api_key="YOUR_API_KEY")def safe_scrape(url: str): try: response = client.scrape(url=url, formats=["markdown"]) return response.markdown except AuthenticationError: print("API key geçersiz. Dashboard'dan kontrol edin.") return None except InsufficientCreditsError: print("Kredi yetersiz. Bakiye yükleyin.") return None except RateLimitError as e: retry_after = e.retry_after print(f"Rate limit aşıldı. {retry_after}s sonra tekrar deneyin.") import time time.sleep(retry_after) return safe_scrape(url) except BadRequestError as e: print(f"Geçersiz istek: {e.message}") return None except ServerError: print("Sunucu hatası. Birkaç saniye sonra tekrar deneyin.") import time time.sleep(5) return safe_scrape(url)result = safe_scrape("https://example.com")ProxyTurk API standart HTTP status kodlarını kullanır. Başarılı istekler 2xx, client hataları 4xx, sunucu hataları 5xx kodları döndürür. Her hata yanıtı JSON formatında bir error objesi içerir:
{ "success": false, "error": { "code": "INVALID_REQUEST", "message": "URL parametresi gereklidir", "details": { ... } } }
Hata yanıtlarında her zaman success: false alanı bulunur. error.code alanı programatik olarak kontrol edilebilir sabit bir koddur. error.message alanı ise insan tarafından okunabilir açıklamadır.
İstek geçersiz veya eksik parametreler içeriyor. Bu hata, zorunlu bir parametrenin eksik olduğu, parametre formatının yanlış olduğu veya geçersiz bir değer gönderildiği durumlarda oluşur.
Yaygın nedenler: - url parametresi eksik veya geçersiz formatta - formats dizisi boş veya desteklenmeyen format içeriyor - extract.schema geçersiz JSON Schema - Gövde (body) geçerli bir JSON değil
Çözüm: İstek parametrelerinizi API referansı ile karşılaştırın. URL'nin http:// veya https:// ile başladığından emin olun. JSON gövdesini bir validator ile kontrol edin.
Hesap bakiyeniz yetersiz veya kredi limitiniz dolmuş. Bu hata, isteğin işlenmesi için gereken kredi miktarının mevcut bakiyenizden fazla olduğunda döner.
Yaygın nedenler: - Kredi bakiyesi sıfır - Aylık kullanım limiti aşılmış - Plan yükseltme gerekiyor
Çözüm: Dashboard'dan kredi bakiyenizi kontrol edin. Bakiye yükleyin veya planınızı yükseltin. Otomatik yükleme özelliğini aktif ederek kesintisiz kullanım sağlayabilirsiniz.
Bu kaynağa erişim yetkiniz bulunmuyor. API key'iniz geçerli ancak istenen işlem için gerekli izinlere sahip değil.
Yaygın nedenler: - Planınızda bulunmayan bir endpoint'e erişim (örn: ücretsiz planda SERP endpoint'i) - IP kısıtlaması: API key belirli IP'lere sınırlandırılmış - Kısıtlanmış bir URL'yi scrape etme girişimi
Çözüm: Planınızın hangi endpoint'leri kapsadığını Dashboard'dan kontrol edin. IP kısıtlamalarınızı gözden geçirin. Hedef URL'nin kısıtlı olup olmadığını kontrol edin.
İstenen kaynak bulunamadı. Endpoint URL'si yanlış veya var olmayan bir kaynağa erişmeye çalışıyorsunuz.
Yaygın nedenler: - Endpoint URL'sinde yazım hatası - Var olmayan bir job_id ile sorgulama - API versiyonu yanlış (/v1/ yerine /v2/ gibi)
Çözüm: API base URL'inin https://api.proxyturk.com/v1/ olduğundan emin olun. Endpoint adını API referansı ile karşılaştırın. Job ID'nin doğruluğunu kontrol edin.
Rate limit aşıldı. Kısa sürede çok fazla istek gönderildi. Her plan için farklı rate limit'ler tanımlıdır ve bu sınır aşıldığında istek reddedilir.
Rate limit bilgileri yanıt header'larında döner: - X-RateLimit-Limit: Toplam izin verilen istek sayısı - X-RateLimit-Remaining: Kalan istek sayısı - X-RateLimit-Reset: Limitin sıfırlanacağı Unix timestamp - Retry-After: Tekrar denemeden önce beklenecek saniye
Çözüm: İsteklerinizi Retry-After header'ına göre zamanlayın. SDK kullanıyorsanız otomatik retry aktiftir. İstek hacminiz yüksekse plan yükseltmeyi değerlendirin. İsteklerinizi batch halinde göndererek rate limit'i daha verimli kullanabilirsiniz.
Sunucu tarafında beklenmeyen bir hata oluştu. Bu hata sizin isteğinizle ilgili değil, ProxyTurk altyapısındaki geçici bir sorundan kaynaklanır.
Yaygın nedenler: - Geçici sunucu sorunu - Hedef sitenin beklenmeyen bir yanıt vermesi - Altyapıda geçici bir yük artışı
Çözüm: Birkaç saniye bekleyip isteği tekrar deneyin. Sorun devam ederse status.proxyturk.com adresinden sistem durumunu kontrol edin. Sürekli 500 hatası alıyorsanız destek ekibimize ulaşın.
Hata kodları hakkında sorular
Yanıttaki Retry-After header'ını okuyun ve belirtilen süre kadar bekleyin. SDK kullanıyorsanız otomatik retry mekanizması aktiftir. Sürekli rate limit'e takılıyorsanız plan yükseltmeyi değerlendirin.
Dashboard'dan key'in aktif olduğunu doğrulayın. Header formatının "Authorization: Bearer YOUR_KEY" olduğundan emin olun. Gerekirse key'i revoke edip yenisini oluşturun.
status.proxyturk.com adresinden sistem durumunu kontrol edin. Belirli bir URL'de tekrarlıyorsa destek ekibine URL bilgisiyle birlikte bildirin. Geçici sunucu sorunları genellikle birkaç dakika içinde çözülür.
API hata mesajları İngilizce döner. error.code alanı programatik kontrol için, error.message alanı ise açıklama içindir. Uygulamanızda kullanıcıya göstereceğiniz mesajları kendi dilinizde oluşturmanızı öneriyoruz.