Переезд с Anti-Captcha, 2Captcha или CapSolver
Готовая интеграция переезжает сменой хоста: что остаётся прежним и что поправить для Anti-Captcha, 2Captcha и CapSolver.
На этой странице
API понимает JSON-протокол Anti-Captcha и протокол 2Captcha in.php / res.php. Чаще всего достаточно заменить хост и ключ — остальной код остаётся как есть.
| Откуда | Старый хост | Новый хост | Что ещё |
|---|---|---|---|
| Anti-Captcha | api.anti-captcha.com | neurocaptcha.com | ничего: те же методы, поля и id ошибок |
| 2Captcha, RuCaptcha | 2captcha.com, rucaptcha.com | neurocaptcha.com | in.php / res.php — см. совместимость с 2Captcha |
| CapSolver | api.capsolver.com | neurocaptcha.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/createTaskNoCaptchaTaskи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:
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 и поправьте несколько деталей. Имена типов задач отличаются регистром букв:
| CapSolver | NeuroCaptcha |
|---|---|
ReCaptchaV2TaskProxyLess | RecaptchaV2TaskProxyless |
ReCaptchaV2Task | RecaptchaV2Task |
ReCaptchaV2EnterpriseTaskProxyLess | RecaptchaV2EnterpriseTaskProxyless |
ReCaptchaV2EnterpriseTask | RecaptchaV2EnterpriseTask |
ReCaptchaV3TaskProxyLess | RecaptchaV3TaskProxyless |
ReCaptchaV3EnterpriseTaskProxyLess | RecaptchaV3EnterpriseTaskProxyless |
ReCaptchaV3EnterpriseTask | RecaptchaV3EnterpriseTask |
ReCaptchaV3Task | RecaptchaV3TaskProxyless (без прокси) или 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или вебхук.
Чек-лист#
- Создайте test-ключ и прогоните интеграцию на
https://neurocaptcha.com— тестовые задачи бесплатны. - Сверьте имена типов задач со списком.
- Убедитесь, что любой
errorId, кроме 0, обрабатывается как ошибка, аERROR_NO_SLOT_AVAILABLEиERROR_TOO_MUCH_REQUESTSповторяются с паузой. - Переключитесь на live-ключ и пополните баланс.