Совместимость с 2Captcha
in.php и res.php для клиентов 2Captcha и RuCaptcha: параметры, ответы, выбор типа задачи и коды ошибок.
На этой странице
in.php и res.php принимают те же ключи и создают те же задачи, что и JSON API. Подходит GET или POST (строка запроса или поля формы). Ответ — простой текст или JSON с json=1; HTTP-статус всегда 200.
in.php — создать задачу#
ПараметрОписание
keystringобязательный- Ваш ключ API.
methodstringобязательныйuserrecaptcha.googlekeystringобязательный- Ключ сайта (
websiteKey). pageurlstringобязательный- Адрес страницы (
websiteURL). versionstringv3для reCAPTCHA v3.enterprisestring1для reCAPTCHA Enterprise.invisiblestring1для невидимой reCAPTCHA v2.actionstring- Действие v3 (
pageAction). min_scorenumber- Минимальный score v3 (
minScore). data-sstringrecaptchaDataSValue.userAgentstring- User-Agent вашего браузера.
cookiesstringKEY:Value;KEY2:Value2(преобразуется вKEY=Value; KEY2=Value2).domainstringgoogle.comилиrecaptcha.net.proxystringlogin:password@host:portилиhost:port.proxytypestringHTTP,HTTPS,SOCKS4илиSOCKS5.soft_idinteger- Id в программе для разработчиков (
softId). pingbackstring- Адрес вебхука (
callbackUrl), см. Вебхуки. jsonstring1— ответ в JSON.header_acaostring1— добавить в ответAccess-Control-Allow-Origin: *.
curl -s "https://neurocaptcha.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://www.google.com/recaptcha/api2/demo"
# → OK|7781
curl -s "https://neurocaptcha.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-&pageurl=https://www.google.com/recaptcha/api2/demo&json=1"
# → {"request":"7781","status":1}Какой тип задачи создаётся#
| version | enterprise | proxy | Тип задачи |
|---|---|---|---|
| — | — | — | RecaptchaV2TaskProxyless |
| — | — | есть | RecaptchaV2Task |
| — | 1 | — | RecaptchaV2EnterpriseTaskProxyless |
| — | 1 | есть | RecaptchaV2EnterpriseTask |
v3 | — | любой | RecaptchaV3TaskProxyless (прокси игнорируется) |
v3 | 1 | — | RecaptchaV3EnterpriseTaskProxyless |
v3 | 1 | есть | RecaptchaV3EnterpriseTask |
res.php — результат, баланс, отчёты#
| action | Параметры | Ответ |
|---|---|---|
get | id | OK|<токен> или CAPCHA_NOT_READY; с json=1: {"request":"<токен>","status":1,"useragent":"…"} |
get | ids=1,2,3 (до 100) | ответы в том же порядке через |: <токен>|CAPCHA_NOT_READY|ERROR_… |
get2 | id | OK|<токен>|<стоимость>; с json=1 стоимость в price |
getbalance | — | баланс в долларах, например 12.3456 |
reportbad, reportgood | id | OK_REPORT_RECORDED — правила как у отчётов |
curl -s "https://neurocaptcha.com/res.php?key=YOUR_API_KEY&action=get&id=7781"
# → CAPCHA_NOT_READY, затем OK|03AFcWeA6Z3vq0VhGm1oS8r0bAxKk4…
curl -s "https://neurocaptcha.com/res.php?key=YOUR_API_KEY&action=getbalance&json=1"
# → {"request":"12.3456","status":1}Опрашивайте res.php раз в 2–3 секунды; токен хранится столько же, сколько в JSON API.
Коды ошибок#
Ошибки приходят текстом (ERROR_…) или как {"request":"ERROR_…","status":0} с json=1. Часть кодов JSON API получает имена 2Captcha:
| JSON API | in.php / res.php |
|---|---|
ERROR_NO_SUCH_CAPCHA_ID | ERROR_WRONG_CAPTCHA_ID |
ERROR_TASK_ABSENT, ERROR_TASK_NOT_SUPPORTED, ERROR_NO_SUCH_METHOD | ERROR_BAD_PARAMETERS |
ERROR_RECAPTCHA_TIMEOUT | ERROR_CAPTCHA_UNSOLVABLE |
ERROR_PROXY_CONNECT_REFUSED, ERROR_PROXY_CONNECT_TIMEOUT, ERROR_PROXY_READ_TIMEOUT, ERROR_PROXY_BANNED, ERROR_PROXY_NOT_AUTHORISED | ERROR_PROXY_CONNECTION_FAILED |
ERROR_INTERNAL | ERROR_INTERNAL_SERVER_ERROR |
| Код | Когда |
|---|---|
ERROR_WRONG_USER_KEY | пустой key |
ERROR_BAD_PARAMETERS | method не userrecaptcha, неизвестный action, больше 100 ids |
ERROR_GOOGLEKEY | нет googlekey |
ERROR_PAGEURL | нет pageurl |
ERROR_BAD_PROXY | не удаётся разобрать proxy или proxytype |
ERROR_WRONG_CAPTCHA_ID | id — не положительное число или такой задачи нет |
Остальные коды (ERROR_KEY_DOES_NOT_EXIST, ERROR_ZERO_BALANCE, ERROR_NO_SLOT_AVAILABLE, ERROR_TOO_MUCH_REQUESTS, ERROR_CAPTCHA_UNSOLVABLE…) передаются как есть — см. Ошибки.