Captcha çözme
POST /captchas/resolve, bir captcha görevini bir çözücüye gönderir ve çözüm hazır olana
kadar isteği açık tutar. Tek istek, tek sonuç.
curl -X POST https://api.clearance.rest/captchas/resolve \ -H "X-API-Key: $CLEARANCE_REST_API_KEY" \ -H "X-Service-Timeout: 60000" \ -H "content-type: application/json" \ -d '{ "provider": "capsolver", "task": { "type": "ImageToTextTask", "body": "<base64 image>" } }'const solution = await clearanceRest.captchas.resolve({ provider: 'capsolver', task: { type: 'ImageToTextTask', body: '<base64 image>' }, timeout: 60000,});console.log(solution.value); // "abc123"use ClearanceRest\Services\Captchas;
$solution = $client->captchas->resolve( task: ['type' => 'ImageToTextTask', 'body' => '<base64 image>'], provider: 'capsolver', timeout: 60_000,);echo Captchas::solutionValue($solution); // "abc123"Sağlayıcılar
Bölüm başlığı “Sağlayıcılar”provider çözücüyü seçer ve varsayılanı capsolver’dır.
provider |
task |
|---|---|
capsolver |
Bir Capsolver görevi, örneğin { "type": "ImageToTextTask", "body": "…" }. |
2captcha |
Bir 2Captcha görevi. |
nonecap |
NoneCap’in kendi istek gövdesi, örneğin { "type": "hcaptcha", "sitekey": "…", "url": "https://…" }. |
nonecap-browser |
{ "url", "sitekey", "proxy"? }. sitekey zorunludur. type ve rqdata desteklenmez. |
task çözücüye değiştirilmeden iletilir; şekli çözücünün kendisidir. Hangi görev
türlerinin ve alanların olduğu için çözücünün dokümantasyonuna bakın.
Projenizin, istediğiniz sağlayıcı için bir hesabı olmalıdır. Yoksa istek 400 döndürür.
Yanıt normalleştirilmez. Çözücünün kendi yanıtıdır; iki alan eklenmiştir: jobId
(destekle konuşurken belirtebileceğiniz bir id) ve waitedMs. Gerisi çözücüye bağlıdır:
{ "jobId": "6f1c…", "waitedMs": 1234, "errorId": 0, "taskId": "8b1c…", "status": "ready", "solution": { "text": "abc123" } }{ "jobId": "6f1c…", "waitedMs": 1234, "id": "12345", "code": "abc123" }{ "jobId": "6f1c…", "waitedMs": 4021, "id": "solve_01HQF7K3JKWZX", "object": "solve", "status": "solved", "token": "P1_eyJ…" }Birincisi Capsolver, ikincisi 2Captcha, üçüncüsü NoneCap’tir. SDK’lar bunlardan herhangi
birinin içindeki token’ı ya da metni sizin için okur (Node’da solution.value, PHP’de
Captchas::solutionValue()).
Hatalar
Bölüm başlığı “Hatalar”-
Çözücü çözemedi. Bu yine HTTP
200’dür. Hatayı çözücünün kendi alanlarından okuyun (örneğin 2Captcha’nıncode: "ERROR_…"ya da NoneCap’instatus: "failed"değeri). SDK’lar bunun yerine tipli bir hata fırlatır. -
Çözücü çağrısının kendisi başarısız oldu (ağ, kimlik doğrulama, çözücünün hata alanı): HTTP
502ve{ "jobId": "…", "error": "…" }. -
Süreniz doldu. HTTP
200veerror: "timeout":{ "jobId": "6f1c…", "waitedMs": 60000, "error": "timeout" } -
Hatalı istek (
400): geçersiz JSON, bilinmeyen birprovider, eksiktaskya da geçersiz birX-Service-Timeout.
Timeout
Bölüm başlığı “Timeout”Bekleme en fazla 10 dakika sürer; X-Service-Timeout ile düşürebilirsiniz. Bkz.
Timeout. İstemciniz bağlantıyı koparırsa nonecap ya da
nonecap-browser üzerindeki çözüm, çözücüde iptal edilir.