PHP CAPTCHA Çözücü: Laravel, Symfony ve Yalın cURL için
Tek bir Composer paketi; reCAPTCHA, Turnstile ve GeeTest kontrollerini ya da bir CAPTCHA görselindeki metni cURL, Guzzle veya Laravel kodunuzun gönderebileceği değerlere dönüştürür. Çözme işini CapSkip, kontrolünüzdeki donanımda yapar.
- PHP 8.0 ve üzeri
- Yalnızca curl ve json
- Sayaçsız kuyruk worker'ları
$solver = new CapSkip();
$token = $solver->recaptcha([
'sitekey' => '6Le-wvkS…',
'url' => 'example.com/signup',
]);03AGdBq27…0.12s · $0.00Her PHP CAPTCHA çözücü tek bir can sıkıcı an için vardır: cURL handle'ınız veya Guzzle istemciniz bir sayfa ister ve ayrıştırmak üzere yazıldığı HTML yerine bir doğrulama ekranı alır. capskip/capskip paketini Composer ile kurun; o doğrulama, sahip olduğunuz veya kiraladığınız Windows donanımında çalışan CapSkip masaüstü uygulamasına gider ve uygulama bir sonraki POST isteğiniz için hazır bir reCAPTCHA veya Turnstile token'ı, bir GeeTest v3 yanıtı ya da bir görselin metnini geri gönderir.
İstemci vendor klasörünüzü hafif tutar: curl ve json eklentileriyle PHP 8.0 veya üzerini ister ve başka hiçbir şey kurmaz. Her doğrulama ailesinin kendi metodu vardır: recaptcha() v2, v3 ve Enterprise'ı çözer, turnstile() hem gömülü widget'ı hem de Cloudflare'in tam sayfa kontrolünü kapsar, geetest() v3 kaydırıcısını alır, normal() bozuk metni yaklaşık 0,1 saniyede okur; altcha(), capy(), captchafox() ve friendlyCaptcha() da listeyi tamamlar.
PHP kodunuz bugün nerede çalışıyorsa orada çalışmaya devam edebilir. İstemcinin host seçeneğini CapSkip'in kurulu olduğu makineye ayarlayın; ona erişebilen her sunucu, konteyner veya cron makinesi, aylık $35'ten başlayan tek bir sabit lisansla çözüm yapar. Faturadaki hiçbir kalem kaç form gönderdiğinize bağlı değildir.
CAPTCHA işini istek döngüsünün dışında tutun. Her çözüm, yanıt gelene kadar PHP sürecini meşgul eder; bu yüzden onu bir kuyruk işine veya cron betiğine devredin ve sayfalarınız normal hızda yanıt versin. Çözücü makinenin besleyebileceği kadar worker başlatın: plan sabit olduğu için ek süreçler faturaya hiçbir şey eklemez. Laravel kuyruk rehberini okuyun
Composer projeleri ve PHP worker'ları için tasarlandı
İki PHP eklentisi, başka hiçbir şey
Paket, curl ve json etkin olan PHP 8.0 veya üzerini gerektirir. Başka hiçbir çalışma zamanı bağımlılığı eklemez; bu yüzden framework'ünüzün composer.lock'ta sabitlediği sürümlerle asla çakışmaz.
Tek lisansla tüm kuyruk worker'ları
Artisan komutları, cron çalıştırmaları ve uzun ömürlü worker'lar aynı sayaçsız planı kullanır. Daha fazla süreç, makinenin kaldırabileceği sınıra kadar işlem hacmini artırır; aylık fiyat ise yerinde kalır.
Laravel ve Symfony ile tam uyum
Tek bir CapSkip örneğini bir Laravel service provider'ında singleton olarak veya bir Symfony servisi olarak kaydedin. Hiçbir framework'e bağlı olmadığı için yalın bir PHP betiği de onu aynı kolaylıkla kullanır.
Guzzle ve cURL için hazır yanıtlar
$result['code'] değerini alın ve Guzzle form_params'ına ya da CURLOPT_POSTFIELDS dizinize, hedef formun gönderdiği alan adı neyse o anahtarla ekleyin; bu genellikle g-recaptcha-response olur.
Panther ve php-webdriver ile uyumlu
Bir site gerçek bir tarayıcı beklediğinde onu Symfony Panther veya php-webdriver ile yönetin, doğrulamayı CapSkip'e çözdürün, ardından gönder düğmesine tıklamadan önce dönen token'ı forma enjekte edin.
300 saniye üst sınırlı bloklayan çağrılar
Her çağrı senkrondur ve bir reCAPTCHA çözümü varsayılan olarak 300 saniyeye kadar sorgulamaya devam edebilir. Bu, kısa süre sınırı olan bir web isteğinden çok CLI süreçlerine ve kuyruk işlerine uygundur.
Bir PHP projesinden CapSkip'e üç yol
<?php
// composer require capskip/capskip
require 'vendor/autoload.php';
use CapSkip\CapSkip;
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);
$result = $solver->recaptcha(
'YOUR_SITEKEY',
'https://example.com/page-with-recaptcha'
);
echo $result['code']; // g-recaptcha-response tokenYOUR_SITEKEY değerini ve örnek URL'yi kendi hedefinizle değiştirin, dosyayı komut satırından çalıştırın; form gönderiminiz için bir reCAPTCHA token'ı ekrana yazdırır.
Manuel oturumlar için tarayıcı uzantısı
Bir sitede tıklayarak ilerleyen kişi siz olduğunuzda, örneğin kendi kayıt formunuzu test ederken, Chrome veya Firefox eklentisi çalışan CapSkip uygulamasının her doğrulamayı çözmesini sağlar; PHP gerekmez.
Kodunuz için Composer SDK
capskip/capskip paketini require edin, ardından betiklerden, komutlardan ve worker'lardan her doğrulamaya uyan metodu seçin. Başka servisleriniz için Python, Node.js ve .NET kardeş istemcileri de mevcut.
Devralınan 2Captcha kodu için yerel API
2Captcha veya Anti-Captcha API'si etrafında yazılmış bir PHP sınıfı isteklerini değiştirmeden göndermeye devam eder: CapSkip uygulaması bu formatları konuşur ve kendi makinenizden yanıt verir.
PHP istemcisini canlı bir reCAPTCHA üzerinde deneyin
reCAPTCHA v2 demo sayfamız gerçek widget'ı yükler. Yukarıdaki kod parçasını ona yöneltin, terminalinizden çalıştırın; üretimdeki bir siteye yönlendirmeden çok önce, çalışan bir token ekrana yazdırılır.
composer require komutundan ilk token'ınıza
-
Çözücü makineyi hazırlayın
PHP sunucularınızın erişebildiği bir Windows masaüstü bilgisayar veya VPS seçin ve CapSkip'i oraya kurun. Ardından yönlendirdiğiniz her sunucu, konteyner ve cron işi için çözme işini o üstlenir. Yükleyiciyi indirin
-
Denemeyle veya bir planla oturum açın
Denemeden (500 çözüm, 3 günlük süre, kart gerekmez) veya aylık bir plandan aldığınız giriş bilgilerini kullanın. Her paket aynı CAPTCHA türlerinin kilidini açar. Ücretsiz denemeyi alın
-
Paketi require edin ve çözün
composer require capskip/capskip komutunu çalıştırın, çözücü host'uyla tek bir istemci oluşturun ve doğrulamanıza uygun metodu bir CLI betiğinden veya kuyruk işinden çağırın. API belgelerine göz atın
2Captcha ve CapSolver karşısında yerel bir PHP çözücü
CapSkip Composer istemcisinin, birçok PHP projesinin işe başladığı çözüm başına ücretli servislerle karşılaştırması.
| Özellik | CapSkip | 2Captcha / CapSolver |
|---|---|---|
| Ne için ödeme yaparsınız | $35'ten başlayan tek aylık ücret, çözümler asla sayılmaz | Her çözüm, 1.000 başına fiyatlandırılır |
| Doğrulamalar nerede çözülür | CapSkip uygulamasının içinde, çalıştırdığınız donanımda | Uzak API sunucuları veya insan çözüm çiftliği |
| Kuyruğunuz büyüdükçe fatura | İş sayısı ne olursa olsun değişmez | CAPTCHA ile karşılaşan her işle artar |
| Doğrulamayı kim görür | Yalnızca kendi makineleriniz | Üçüncü taraf bir servis alır |
| Paralel PHP worker'ları | Thread sınırı yok; hızı sunucunuz belirler | Daha fazla hız, daha fazla çözüme ödeme demektir |
| PHP'ye entegrasyon | composer require capskip/capskip ya da bir 2Captcha istemcisini koruma | Sağlayıcının kendi istemci kütüphanesi |
| Görsel CAPTCHA yanıt süresi | Kabaca 0,1 saniye, yerinde çözülür | Ağ gidiş dönüşü artı kuyruk süresi |
Fiyatlandırma
Çözüm başına ödemeye son
Lisansınızı seçin
Gold Lisansı
$75/ ay
Gold aboneliği alAnında lisans aktivasyonu
Aylık faturalandırılır. Hesabınızdan istediğiniz zaman iptal edebilirsiniz.
Özellikler aynı. Daha çok makine, daha çok kapasite.
Her makine, kendi işlemcisi ve belleğinin izin verdiği kadar hızlı çözer. Daha çok makine aynı anda daha çok iş parçacığı çalıştırır; Silver aynı anda iki kat, Gold üç kat CAPTCHA çözer.
- Sınırsız çözüm, günlük limit yok
- Sınırsız iş parçacığı, hız donanımınızla ölçeklenir
- %90 ila %100 tanıma doğruluğu
- Başlıca çözüm servisi API'lerinin doğrudan yerine geçer
- Neredeyse her araçla çalışır, kod yazmaya gerek yok
- REST API, SDK'lar ve bir tarayıcı eklentisi
- Yeni bir CAPTCHA türü çıktığında ücretsiz eğitim
- Kendi makinenizde çalışır, hiçbir şey dışarı çıkmaz
Yukarıda gösterilen her CAPTCHA türü her lisansta vardır. Kapsam bölümüne git
Sadece önce denemek mi istiyorsunuz?
3 günlük ücretsiz bir denemeyle başlayın ve kendi hedeflerinizde her türden 500 CAPTCHA çözün.
İlgili CAPTCHA çözücüler & kılavuzlar
PHP ile CAPTCHA çözme: cURL ve Guzzle iş akışı
PHP kodunun çoğu, betikle yapılan bir form gönderiminin ortasında CAPTCHA ile karşılaşır: bir cURL handle'ı veya Guzzle istemcisi sayfayı çeker, bir doğrulama fark eder ve POST yola çıkmadan önce geçerli bir yanıta ihtiyaç duyar. Aşağıdaki yöntem, sayfayı çekmekten göndermeye kadar o oturumu bozmadan korur.
Önce, zaten indirdiğiniz HTML'den girdileri toplayın. reCAPTCHA ve Turnstile, data-sitekey değerine ve sayfa URL'sine ihtiyaç duyar. GeeTest v3 yeni verilmiş bir gt ve challenge çifti ister, çünkü her challenge bir kez çalışır ve yaklaşık bir dakika içinde geçersiz olur. Görsel CAPTCHA resmin kendisini ister; resmi formla aynı cookie jar ile çekin ki oturumunuza ait olsun. Widget'ın hCaptcha olduğu ortaya çıkarsa orada durun, çünkü CapSkip onu çözmez.
Ardından istemcinizde uygun metodu çağırın. Görünmez reCAPTCHA için recaptcha() metoduna invisible seçeneğini verin; v3 için version değerini v3 yapın ve sayfanın kendi action etiketini sağlayın. turnstile() metodu, tam bir Cloudflare doğrulama sayfasıyla karşılaştığınızda data ve pagedata değerlerini de kabul eder. Çağrı yanıt gelene kadar bloklar; bu yüzden onu bir CLI sürecinden veya kuyruk işinden çalıştırın.
Son olarak, yanıtı sitenin aradığı yere koyun. $result['code'] değerini POST alanlarınıza, formun kullandığı yanıt alanı adıyla ekleyin; GeeTest için challenge, validate ve seccode değerlerini sitenin kendi ön yüzünün yaptığı şekilde geri gönderin; bir Cloudflare doğrulama sayfasından sonra isteği CapSkip'in döndürdüğü userAgent ile tekrarlayın. Token'lar dakikalar içinde geçerliliğini yitirdiği için hemen gönderin; bir proxy üzerinden çözdüyseniz POST isteğini de aynı proxy üzerinden gönderin.
İlgili rehberler: Laravel kuyruğunda CAPTCHA işleri · PHP ile reCAPTCHA v2 · PHP ile Cloudflare Turnstile
CAPTCHA çözmek için hangi Composer paketini kurmalıyım?
PHP kodundan bir reCAPTCHA çağrısı nasıl görünür?
Turnstile metodu Cloudflare'in tam sayfa kontrolünü de çözer mi?
CapSkip çözerken web isteğim neden zaman aşımına uğruyor?
PHP'den aynı anda çok sayıda çözümü nasıl çalıştırırım?
GeeTest v3 çağrısı PHP'ye ne döndürür?
2Captcha API'si için yazılmış bir PHP sınıfını koruyabilir miyim?
CapSkip, cURL ile indirilen bir görsel CAPTCHA'yı okur mu?
PHP kuyruğunuza sayaçsız CAPTCHA çözme kazandırın
Uygulamayı kurun, tek bir Composer paketi ekleyin ve worker'larınızın iş ne gerektiriyorsa o kadar çözüm yapmasına izin verin. Kuyrukta on iş de olsa on bin iş de olsa faturanız sabittir.
