API Tencent Tendi CAPTCHA solver
Состояние API
- Состояние за 24 ч
- Норма
- Среднее время за 24 ч
- —
- Стабильно / норма
- Доступно
- Ограничено
- Почти недоступно
Последние 24 часа
Последние 30 дней
API EverySolve для Tencent Tendi CAPTCHA возвращает именованные поля решения для вашего сценария прохождения проверки. Отправьте POST /api/v1/captcha, указав в type значение tencent_tendi, и передайте входные данные, перечисленные ниже.Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr. Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.
$2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.
Промпт для ИИ
Помогите мне написать скрипт, который вызывает API EveryInfra «Tencent Tendi CAPTCHA».
Контракт API:
- Запрос: POST https://api.everyinfra.com/api/v1/captcha с заголовком Authorization: Bearer <API Key>. Берите ключ из переменной окружения EVERYINFRA_API_KEY, не указывайте его в коде.
- В теле запроса задайте для type значение tencent_tendi, а параметры укажите рядом, на том же уровне.
- Обязательные параметры:
- website_url: Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта.
- website_key: Публичный ключ сайта или виджета, скопированный именно из этой интеграции на целевом сайте; это не секретный ключ.
- Необязательные параметры:
- captcha_script: Публичный URL скрипта капчи, загружаемого целевой страницей, если в этом развёртывании он изменён.
- Пример тела запроса:
{
"type": "tencent_tendi",
"website_url": "<website_url>",
"website_key": "<website_key>"
}
- Оплата: $2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.
- При ошибке 422 исправьте параметры по подсказкам и допустимым значениям из ошибки. При 429 или 503 дождитесь истечения Retry-After и повторите попытку.
Прежде чем писать код, спросите меня, сколько записей нужно обработать и в каком формате сохранить результаты, затем согласуйте со мной план и примерную стоимость.Параметры запроса
| Имя | Расположение | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|---|
Authorization | header | string | Да | - | Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода. |
type | body | string | Да | tencent_tendi | Тип капчи, фиксированное значение. |
website_url | body | string | Да | - | Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта. |
website_key | body | string | Да | - | Публичный ключ сайта или виджета, скопированный именно из этой интеграции на целевом сайте; это не секретный ключ. |
captcha_script | body | string | Нет | - | Публичный URL скрипта капчи, загружаемого целевой страницей, если в этом развёртывании он изменён. |
Примеры кода
curl -X POST 'https://api.everyinfra.com/api/v1/captcha' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"type": "tencent_tendi",
"website_url": "<website_url>",
"website_key": "<website_key>"
}'Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.
Пример ответа
Для этих параметров пока нет примера ответа. Здесь показаны структура ответа и поля из описания API, а … служит заполнителем; это не результат реального вызова.
{
"id": "req_…",
"type": "tencent_tendi",
"solution": {
"ticket": "…",
"randstr": "…"
},
"billing": {
"charged": …,
"charged_usd": …,
"balance_after_usd": …,
…
},
"quota": { … }
}Откуда брать параметры для Tencent Tendi CAPTCHA
Скопируйте captchaAppId целевого сайта в website_key; captcha_script необязателен и нужен, только если развёртывание использует собственный URL скрипта.
Код для поиска этих значений на странице
// 1. Read aid from a sent CAPTCHA request. This is the most accurate method. It is the only one that works with aidEncrypted. performance.getEntriesByType('resource').map(e=>e.name) .filter(n=>/t\.captcha\.qq\.com|captcha\.qcloud\.com/.test(n)) .map(n=>{try{return new URL(n).searchParams.get('aid')}catch(e){return null}}).filter(Boolean) // 2. If the CAPTCHA overlay is open, read the iframe document.querySelector('iframe[src*="t.captcha.qq.com"]')?.src // 3. Fallback: search the page source for CaptchaAppId / aid document.documentElement.innerHTML.match(/(?:CaptchaAppId|aid)["'\s:=]{1,4}["']?(\d{9,10})/i) // Also check the script URL. Send it as the optional captcha_script parameter only when it is not the default. [...document.scripts].map(s=>s.src).find(s=>/captcha\.qcloud\.com\/T\w*Captcha\.js/.test(s))
Как определить Tencent Tendi CAPTCHA
Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr.
Чем Tencent Tendi CAPTCHA отличается от других проверок
Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.
Как использовать API для Tencent Tendi CAPTCHA
API Tencent Tendi CAPTCHA возвращает именованные поля решения в ticket и randstr. Формат решения: fields. Считывайте объявленные поля вместе: целевому сценарию может понадобиться весь набор.
- 01Выполните запрос GET /api/v1/captcha/types и выберите запись
tencent_tendi. - 02Выполните POST /api/v1/captcha, передав
type: "tencent_tendi"и обязательные параметры. - 03Получите именованные поля решения из
ticketиrandstr. - 04Считывайте объявленные поля вместе: целевому сценарию может понадобиться весь набор.
Оплата и доступность EverySolve списывает средства только при успешном предоставлении решения. За неудачную попытку итоговое списание не производится, а зарезервированная сумма возвращается автоматически. Получайте available и поля с ценами из GET /api/v1/captcha/types при отправке запроса, а не воспринимайте их как статические данные страницы.
Вопросы об интеграции Tencent Tendi CAPTCHA
Как определить Tencent Tendi CAPTCHA перед выбором типа?
Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr. Используйте tencent_tendi, только если эти признаки соответствуют целевой проверке.
Какие значения с целевой страницы нужны в запросе для Tencent Tendi CAPTCHA?
Скопируйте captchaAppId целевого сайта в website_key; captcha_script необязателен и нужен, только если развёртывание использует собственный URL скрипта. Передайте website_url и website_key. Необязательные параметры: captcha_script.
Что возвращает Tencent Tendi CAPTCHA и с чем это не следует путать?
API Tencent Tendi CAPTCHA возвращает именованные поля решения в ticket и randstr. Формат решения: fields. Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.
Какой внешний источник описывает интеграцию Tencent Tendi CAPTCHA?
Tencent Cloud описывает в документации клиентскую интеграцию TCaptcha/Tendi и поля обратного вызова. [Открыть справку по Tencent Tendi CAPTCHA](https://cloud.tencent.com/product/captcha). Специфичные для EverySolve поля и текущую доступность по-прежнему смотрите в каталоге типов.
Справка по Tencent Tendi CAPTCHA
Похожие типы капчи
- Basilisk
basilisk$1.53 за 1 000 успешных решений - Capy Puzzle CAPTCHA
capy$3.06 за 1 000 успешных решений - Капча GeeTest
geetest$2.08 за 1 000 успешных решений - Lemin CAPTCHA
lemin$1.53 за 1 000 успешных решений - Kasada
kasada$3.06 за 1 000 успешных решений - Akamai Bot Manager для мобильных SDK
akamai_bmp$4.58 за 1 000 успешных решений
Ошибки и оплата
- 401
- Ключ отсутствует или недействителен.
- 402
- Недостаточно средств на балансе. Сначала пополните баланс.
- 422
- Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
- 429
- Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
- 503
- Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
- 200 (пусто)
- Нет данных. Без списания.