Herhangi bir sayfada captcha sitekey'i nasıl bulunur (4 yol)
Her captcha çözümü sitekey ile başlar: sitenin captcha sağlayıcısına kaydettiği açık tanımlayıcı. Tarayıcı bunu görebilir, siz de görebilirsiniz. PopularCaptcha için sitekey, a5f74b19-9e45-40e0-b45d-47ff91b7a6c2 gibi bir UUID'dir. Diğer sağlayıcılar farklı biçimler kullanır. Örneğin Google reCAPTCHA anahtarları 6L ile başlar. İşte en kolaydan en güvenilire doğru dört yer.
Scarnox bugün PopularCaptcha'yı çözer. Sitekey arama yöntemi herhangi bir captcha için aynı şekilde işler; bu yüzden diğer tür için planlama yaparken de bu yöntemler işinize yarar. reCAPTCHA ve Cloudflare Turnstile gibi diğer türler yakında geliyor.
1. data-sitekey özniteliği
DevTools'u açın (F12), Elements sekmesine gidin, Ctrl+F ile data-sitekey araması yapın. Çoğu widget anahtarı böyle bir öznitelikte tutar:
<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>
Burada bulursanız işiniz bitmiştir. Değeri kopyalayın ve çözüme geçin.
2. Network sekmesi
Widget JavaScript ile render ediliyorsa öznitelik HTML'de hiç görünmeyebilir. Network sekmesini açın, sayfayı yeniden yükleyin ve widget'ın yapılandırma isteğini filtreleyin. PopularCaptcha için bu istek genellikle checksiteconfig adını taşır. Sitekey, sorgu parametrelerinden biridir:
.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...
Test ettiğiniz sitede isim farklıysa istek URL'sinde sitekey kelimesiyle filtrelemek de işe yarar.
3. iframe URL'si
Captcha'nın kendisi, sağlayıcının sunduğu bir iframe'dir. Onun src değeri sitekey'i bir parametre olarak taşır. Widget'a sağ tıklayın, Inspect seçin ve değeri iframe'in adresinden okuyun. Sayfa öznitelikleri ana dokümandan sakladığında bu, en güvenilir yöntemdir.
4. Görünmez widget'lar
Görünmez bir widget'ta onay kutusu yoktur. Site, widget'ın render() ya da execute() fonksiyonunu kendi kodundan çağırır ve sitekey bir argüman olarak geçirilir. Sayfanın JavaScript'inde arayın: Sources panelini açın, Ctrl+Shift+F tuşlarına basın ve sitekey aratın. Görünmez sitekey'leri çözerken görünmez bayrağını göndermeniz gerekir. Bkz. görünmez captcha'ların çözümü.
Sitekey'i bir script'ten okumak
Öznitelik ham HTML'de varsa bir script tarayıcı olmadan okuyabilir:
import re
import requests
html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")
Bu hiçbir şey yazdırmazsa widget JavaScript ile render ediliyordur. Yukarıdaki Network sekmesi yönteminde olduğu gibi gerçek bir tarayıcı kullanın. Yalnızca otomatikleştirmenize izin verilen sayfaları getirin ve istek hızınızı düşük tutun.
Hangi URL ona eşlik eder?
Widget'ın bulunduğu sayfanın URL'sini site_url olarak gönderin. Önemli olan ana makinedir (host); bu yüzden bir kayıt widget'ı için değer https://example.com/signup olur. PopularCaptcha için tam bir istek şöyle görünür:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
"site_url": "https://example.com/signup"
}
Bunu https://api.scarnox.com/api/tasks/create adresine, anahtarınızı Authorization: Bearer başlığında göndererek yollayın. Çağrı token hazır olana kadar bloke olur; sonucu kontrol etmek için ikinci bir istek yoktur.
Sık karşılaşılan sorunlar
- Bir sayfada iki sitekey. Siteler bazen bir giriş formu için bir widget, kayıt formu için başka bir widget koyar. Anahtarı sizi gerçekten reddeden forma eşleştirin ve gönder düğmesine hangisinin en yakın olduğuna bakın.
- Sitekey ziyaretler arasında değişir. Her çalıştırmada yeniden okuyun. Anahtarlar normalde kararlıdır; ama eski bir deploy'dan önbelleğe alınmış bir anahtar çalışmayı durdurabilir.
- Sitekey bulundu ama token reddediliyor. Sitekey muhtemelen doğrudur. Önce widget boyutuna ve proxy ayarına bakın; görünmez captcha rehberi ve proxy karşılaştırması ile başlayın.
Doğru sitekey'e sahip olduğunuzu kontrol etmek
Bir sayfa birden çok sitekey içerebilir. Analitik widget'ları, yorum formları ve bülten kutuları kendi anahtarlarını ekleyebilir. Çözmeden önce, sitekey'in otomatikleştirdiğiniz forma ait olduğunu doğrulayın. Üç hızlı kontrol işe yarar:
- Formun gönder düğmesini DevTools'ta bulun ve DOM'da yukarı çıkarak bir
data-sitekeyiçeren en yakın öğeye ulaşın. Formu koruyan widget budur. - Anahtarı iframe URL'sindekiyle karşılaştırın. Eşleşiyorsa widget'ın gerçekten kullandığı anahtara sahipsiniz.
- İzin veriliyorsa formu bir kez elle, çözülmüş bir token ile gönderin ve sitenin kabul edip etmediğine bakın.
Anahtarlar bir sitenin yeniden deploy edilmesiyle de değişebilir. Dün çalışan bir anahtar artık kabul edilen token'lar üretmiyorsa, başka bir şeyi değiştirmeden önce sayfayı yeniden okuyun. Yeniden okumanın maliyeti yoktur ve en yaygın ani hata sebebini eler.
Tıklamadan sonra yüklenen sayfalar için bir adım daha vardır. Sayfayı açın, widget'ı gösteren tıklamayı yapın ve ancak ondan sonra sitekey'i okuyun. Tıklamadan önce okumak hiçbir şey döndürmez; bu, eksik bir widget gibi görünür ama aslında bir zamanlama sorunudur. Sabit bir süre beklemek yerine [data-sitekey] ile eşleşen bir öğenin görünmesini bekleyin.
Sonraki adımlar
- Python ile PopularCaptcha nasıl çözülür
- Playwright ve Puppeteer ile PopularCaptcha çözme
- Captcha türleri açıklaması
- Ücretsiz captcha solver denemesi
Ücretsiz deneme kredisiyle, kredi kartı gerekmeden başlayın: hesap oluşturun ve ilk sitekey'inizi test edin.