NeuroCaptcha

Переезд с Anti-Captcha, 2Captcha или CapSolver

Готовая интеграция переезжает сменой хоста: что остаётся прежним и что поправить для Anti-Captcha, 2Captcha и CapSolver.

На этой странице

API понимает JSON-протокол Anti-Captcha и протокол 2Captcha in.php / res.php. Чаще всего достаточно заменить хост и ключ — остальной код остаётся как есть.

ОткудаСтарый хостНовый хостЧто ещё
Anti-Captchaapi.anti-captcha.comneurocaptcha.comничего: те же методы, поля и id ошибок
2Captcha, RuCaptcha2captcha.com, rucaptcha.comneurocaptcha.comin.php / res.php — см. совместимость с 2Captcha
CapSolverapi.capsolver.comneurocaptcha.comпереименовать типы задач, разбить строку прокси — ниже

Anti-Captcha#

Замените https://api.anti-captcha.com на https://neurocaptcha.com. createTask, getTaskResult, getBalance, getQueueStats, getSpendingStats, reportIncorrectRecaptcha и reportCorrectRecaptcha принимают те же поля (clientKey, task, softId, callbackUrl) и отвечают так же. Id ошибок совпадают с реестром Anti-Captcha.

Было → стало
https://api.anti-captcha.com/createTask
https://neurocaptcha.com/createTask
  • NoCaptchaTask и NoCaptchaTaskProxyless принимаются как синонимы RecaptchaV2Task и RecaptchaV2TaskProxyless.
  • languagePool принимается и игнорируется.
  • reportIncorrectImageCaptcha отвечает ERROR_NO_SUCH_CAPCHA_ID: задач-картинок нет.
  • getQueueStats знает очереди 5, 6, 18, 19 и 20.
  • Вебхуки на callbackUrl подписаны — см. Вебхуки.
  • Если SDK держит хост в константе без настройки, вызывайте HTTP API напрямую — это два запроса, см. примеры.

2Captcha и RuCaptcha#

Замените 2captcha.com (или rucaptcha.com) на neurocaptcha.com в адресах in.php и res.php. key, method=userrecaptcha и остальные параметры остаются прежними.

Было → стало
https://2captcha.com/in.php?key=…&method=userrecaptcha&googlekey=…&pageurl=…
https://neurocaptcha.com/in.php?key=…&method=userrecaptcha&googlekey=…&pageurl=…

Во многих клиентских библиотеках хост настраивается — например, официальная Python-библиотека 2Captcha принимает его в параметре server:

Python, 2captcha-python
from twocaptcha import TwoCaptcha

solver = TwoCaptcha("YOUR_API_KEY", server="neurocaptcha.com")
result = solver.recaptcha(sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", url="https://www.google.com/recaptcha/api2/demo")
print(result["code"])

Поддерживается только reCAPTCHA (method=userrecaptcha: v2, невидимая v2, v3, Enterprise). На остальные методы ответ — ERROR_BAD_PARAMETERS.

CapSolver#

У CapSolver та же схема createTask → getTaskResult. Замените api.capsolver.com на neurocaptcha.com и поправьте несколько деталей. Имена типов задач отличаются регистром букв:

CapSolverNeuroCaptcha
ReCaptchaV2TaskProxyLessRecaptchaV2TaskProxyless
ReCaptchaV2TaskRecaptchaV2Task
ReCaptchaV2EnterpriseTaskProxyLessRecaptchaV2EnterpriseTaskProxyless
ReCaptchaV2EnterpriseTaskRecaptchaV2EnterpriseTask
ReCaptchaV3TaskProxyLessRecaptchaV3TaskProxyless
ReCaptchaV3EnterpriseTaskProxyLessRecaptchaV3EnterpriseTaskProxyless
ReCaptchaV3EnterpriseTaskRecaptchaV3EnterpriseTask
ReCaptchaV3TaskRecaptchaV3TaskProxyless (без прокси) или RecaptchaV3EnterpriseTask
  • Прокси: вместо одной строки proxy (type:host:port:login:password) передавайте proxyType, proxyAddress, proxyPort, proxyLogin и proxyPassword.
  • Ошибки: любой ответ — HTTP 200; проверяйте errorId != 0 и errorCode, а не HTTP-статус.
  • taskId — целое число. Передавайте его обратно числом, а не строкой.
  • appId → softId (целое число из программы для разработчиков).
  • feedbackTask → reportIncorrectRecaptcha / reportCorrectRecaptcha.
  • getToken (синхронный) не поддерживается: используйте createTask + getTaskResult или вебхук.

Чек-лист#

  1. Создайте test-ключ и прогоните интеграцию на https://neurocaptcha.com — тестовые задачи бесплатны.
  2. Сверьте имена типов задач со списком.
  3. Убедитесь, что любой errorId, кроме 0, обрабатывается как ошибка, а ERROR_NO_SLOT_AVAILABLE и ERROR_TOO_MUCH_REQUESTS повторяются с паузой.
  4. Переключитесь на live-ключ и пополните баланс.