İçeriğe geç
DurumPanel

Görev türleri

Bu sayfa Çince sürümden makine çevirisiyle hazırlanmıştır ve hatalar içerebilir. Geçerli olan Çince sürüm sürümüdür.

Örnek görselreCAPTCHA v2: "Ben robot değilim" onay kutusu. Kutuya tıklandığında ya hemen işaretlenir ya da bir görsel sorusu açılır.

reCAPTCHA v2 görevi bir token (gRecaptchaResponse) döndürür. Bu token’ı hedef siteye göndererek doğrulamayı görsellere tıklamadan geçebilirsiniz. En sık kullanılan NoCaptchaTaskProxyless türünün görev başına ücreti: 15 puan (≈ $2.25 / 1k). Sonuç asenkron döner: önce createTask ile görevi oluşturun, sonra sonucu almak için her 5 saniyede bir getTaskResult çağırın. Çözülemeyen ve zaman aşımına uğrayan görevlerde puan iadesi otomatik yapılır.

POSThttps://api.yescaptcha.com/createTaskGlobal uç nokta
POSThttps://cn.yescaptcha.com/createTaskÇin uç noktası

İstek gövdesi JSON’dur ve kimlik doğrulama clientKey ile yapılır (ClientKey’nizi yescaptcha.com Panel’inden kopyalayın). Görevi hangi uç noktada oluşturduysanız sonucu da aynı uç noktadan sorgulayın.

  • Sayfada “Robot değilim” (I’m not a robot) onay kutusu varsa: standart sürüm.
  • Onay kutusu yoksa ve görsel sorusu gönder düğmesine tıklandıktan sonra çıkıyorsa: görünmez sürüm. "isInvisible": true ekleyin.
  • Sayfa recaptcha/enterprise.js yüklüyorsa veya istek adreslerinde enterprise geçiyorsa: Enterprise sürüm. Adında Enterprise geçen türleri kullanın.

Hangisi olduğundan emin değilseniz CAPTCHA türünü belirleme sayfasına bakın. Token yöntemi yeterince geçmiyorsa reCAPTCHA v2 görsel tanıma görevini deneyebilirsiniz: API hangi görsellere tıklanacağını söyler, tıklamayı tarayıcıda siz yaparsınız.

Görev türüFiyatModNotlar
NoCaptchaTaskProxyless$2.25 / 1k; 15 puan/görev · ¥15 / 1kAsenkron
RecaptchaV2TaskProxyless$3.00 / 1k; 20 puan/görev · ¥20 / 1kAsenkronNoCaptchaTaskProxyless ile aynı parametreler, farklı hat; biri yedek olarak kullanılabilir
NoCaptchaTask$2.25 / 1k; 15 puan/görev · ¥15 / 1kAsenkronKendi proxy'niz
RecaptchaV2EnterpriseTaskProxyless$3.00 / 1k; 20 puan/görev · ¥20 / 1kAsenkron
RecaptchaV2EnterpriseTask$3.00 / 1k; 20 puan/görev · ¥20 / 1kAsenkronKendi proxy'niz

ABD doları fiyatları, 1 ABD doları ≈ ¥6.67 kuruyla hesaplanan tahminlerdir; görevler puan üzerinden ücretlendirilir.

  • NoCaptchaTaskProxyless ve RecaptchaV2TaskProxyless aynı parametreleri kullanır, hatları farklıdır. Biri yeterince geçmiyorsa diğerini deneyebilirsiniz.
  • Adında Proxyless geçmeyen türler (NoCaptchaTask, RecaptchaV2EnterpriseTask) CAPTCHA’yı kendi proxy’niz üzerinden yükler; proxyType, proxyAddress, proxyPort gibi alanların gönderilmesi gerekir. Hedef site ziyaretçi IP’sini denetliyorsa bunları kullanın.

createTask içindeki task nesnesinin alanları:

AlanTürZorunluAçıklama
typestringEvetGörev türü; bu sayfadaki "Görev türleri ve fiyatlar" bölümüne bakın
websiteURLstringEvetCAPTCHA'nın göründüğü sayfanın tam URL'si. CAPTCHA'yı gördüğünüz siteyi yazın, CAPTCHA sağlayıcısının alan adını değil
websiteKeystringEvetSite anahtarı (sitekey); sayfa kaynağında veya ağ isteklerinde bulunur, genellikle değişmez
isInvisiblebooleanHayırGörünmez (invisible) sürüm için true gönderin; aksi halde göndermeyin
proxyTypestringBazı türlerProxy protokolü: http, https, socks4 veya socks5 (NoCaptchaTask, RecaptchaV2EnterpriseTask için zorunlu)
proxyAddressstringBazı türlerProxy IP adresi veya ana bilgisayar adı. 127.0.0.1 veya 192.168.x.x gibi yerel ya da özel adresler çalışmaz, çünkü sunucularımız bunlara erişemez (NoCaptchaTask, RecaptchaV2EnterpriseTask için zorunlu)
proxyPortintegerBazı türlerProxy portu (NoCaptchaTask, RecaptchaV2EnterpriseTask için zorunlu)
proxyLoginstringHayırProxy kullanıcı adı, proxy kimlik doğrulaması gerektiriyorsa (yalnızca NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyPasswordstringHayırProxy şifresi, proxy kimlik doğrulaması gerektiriyorsa (yalnızca NoCaptchaTask, RecaptchaV2EnterpriseTask)
userAgentstringHayırTarayıcı User-Agent bilgisi. Sonuçta userAgent varsa, token'ı gönderirken bu değeri kullanın (yalnızca NoCaptchaTask, RecaptchaV2EnterpriseTask)
enterprisePayloadobjectHayırEnterprise sürümüne ait ek parametreler, örneğin reCAPTCHA Enterprise s değeri: {"s": "..."}. Sayfa kullanmıyorsa göndermeyin (yalnızca RecaptchaV2EnterpriseTaskProxyless, RecaptchaV2EnterpriseTask)

websiteURL ve websiteKey değerlerini nasıl bulacağınız için reCAPTCHA parametrelerini bulma sayfasına bakın.

Google’ın resmi demo sayfasıyla:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Görevi oluşturan, her 5 saniyede bir sorgulayan ve token’ı yazdıran tam kod. Çalıştırmadan önce ClientKey’nizi YESCAPTCHA_CLIENT_KEY ortam değişkenine koyun:

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

Enterprise sürümde sayfa reCAPTCHA’ya bir s değeri geçiriyorsa bu değeri enterprisePayload içine koyun:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"enterprisePayload": {
"s": "S_VALUE_FROM_THE_PAGE"
}
}
}

Kendi proxy’nizle:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTask",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"proxyType": "http",
"proxyAddress": "proxy.example.com",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}

createTask görev ID’sini döndürür:

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Bu ID ile getTaskResult çağırın. Görev hâlâ işleniyorsa {"errorId": 0, "status": "processing"} döner; 5 saniye sonra tekrar sorgulayın. Görev tamamlandığında şu yanıt döner:

{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
}
}
AlanTürAçıklama
gRecaptchaResponsestringHedef siteye gönderilecek token. Tek kullanımlıktır, yaklaşık 120 saniye geçerlidir; 60 saniye içinde kullanmanız önerilir

Bir görev en fazla yaklaşık 110 saniye işlenir; süre aşılırsa ERROR_TASK_TIMEOUT döner ve puan iadesi yapılır. Hata durumunda errorId 1 olur; hatayı errorCode değerine göre ele alın, bkz. Hata kodları. Token’ı nasıl göndereceğiniz için reCAPTCHA’yı token ile geçme sayfasına bakın.

Aynı sitede token neden bazen geçiyor, bazen geçmiyor?

Bölüm başlığı “Aynı sitede token neden bazen geçiyor, bazen geçmiyor?”

Geçip geçmeyeceğine hedef site karar verir. Site her doğrulamaya skor verir ve bir eşik belirler; bu eşik her an değişebilir. Bu yüzden geçme oranı siteden siteye değişir ve her token geçmez. Aynı türde başka bir görev türüyle geçme oranını karşılaştırabilir veya görsel tanıma görevine geçebilirsiniz.

Tek kullanımlıktır ve yaklaşık 120 saniye geçerlidir; aldıktan sonra 60 saniye içinde göndermeniz önerilir. Geçerlilik süresini Google belirler.

Hayır. ERROR_CAPTCHA_UNSOLVABLE döndüren veya zaman aşımına uğrayan görevlerde puan iadesi otomatik yapılır, bkz. Ücretlendirme ve puan iadesi.