Cloudflare Challenge
Cloudflare Challenge — защитная межстраничная страница, которая показывается на сайтах, защищённых Cloudflare. Она блокирует доступ, пока не будет успешно пройдена — обычно через JavaScript-проверку, Turnstile-виджет или анализ отпечатка браузера.
Наш сервис возвращает действительный cookie cf_clearance. Вставьте его в свою сессию вместе с User-Agent решателя, чтобы получить полный доступ к защищённой странице.
Обзор
Защита Cloudflare Challenge:
- Выглядит как полноэкранный interstitial («Checking your browser…»)
- Блокирует доступ к целевому ресурсу, пока не пройдена
- При успехе выдаёт cookie
cf_clearance - Требует совпадения IP — обязателен прокси, совпадающий с IP запроса
- Возвращает User-Agent, который нужно использовать вместе с cookie
Прокси обязателен
Cloudflare Challenge требует совпадения IP между решателем и вашими запросами к защищённому сайту. Вы обязаны передать прокси, а затем использовать тот же прокси при обращении к сайту с полученным cookie cf_clearance.
Формат запроса
/in.phpkeystringобязателенВаш API-ключ (32 символа)
methodstringобязателенЗначение: cloudflare_challenge
pageurlstringобязателенПолный URL-адрес защищённой страницы
proxystringобязателенОбязателен. Формат: login:password@123.123.123.123:3128
proxytypestringобязателенТип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
jsoninteger (0/1)по умолчанию: 0опционально0 — ответ текстом, 1 — ответ JSON
Как решать капчу
Шаг 1. Отправьте задачу нам
curl -X POST "https://captcha-api.iwhat.pw/in.php" \
-d key=YOUR_API_KEY \
-d method=cloudflare_challenge \
-d pageurl=https://example.com/protected-page \
-d proxy=user:password@111.111.111.111:8080 \
-d proxytype=HTTP \
-d json=1import requests
response = requests.post("https://captcha-api.iwhat.pw/in.php", data={
'key': 'YOUR_API_KEY',
'method': 'cloudflare_challenge',
'pageurl': 'https://example.com/protected-page',
'proxy': 'user:password@111.111.111.111:8080',
'proxytype': 'HTTP',
'json': 1
})
task_id = response.json()['request']
print(f"ID задачи: {task_id}")const body = new URLSearchParams({
key: 'YOUR_API_KEY',
method: 'cloudflare_challenge',
pageurl: 'https://example.com/protected-page',
proxy: 'user:password@111.111.111.111:8080',
proxytype: 'HTTP',
json: '1',
});
const res = await fetch('https://captcha-api.iwhat.pw/in.php', {
method: 'POST',
body,
});
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);Шаг 2. Получение решения
import time
time.sleep(20)
while True:
result = requests.get("https://captcha-api.iwhat.pw/res.php", params={
'key': 'YOUR_API_KEY',
'action': 'get',
'id': task_id,
'json': 1
}).json()
if result['status'] == 1:
cf_clearance = result['result']
user_agent = result['user_agent']
print(f"cf_clearance: {cf_clearance}")
print(f"User-Agent: {user_agent}")
break
time.sleep(5)Шаг 3. Используйте cookie для доступа к защищённой странице
import requests
session = requests.Session()
# Обязательно тот же прокси
proxies = {'http': 'http://user:password@111.111.111.111:8080',
'https': 'http://user:password@111.111.111.111:8080'}
session.headers.update({'User-Agent': user_agent})
session.cookies.set('cf_clearance', cf_clearance, domain='example.com')
response = session.get("https://example.com/protected-page", proxies=proxies)
print(response.status_code)Важные замечания
User-Agent должен совпадать
Cookie cf_clearance привязан к User-Agent, использованному при решении. Запросы с другим User-Agent будут заблокированы. Всегда используйте result['user_agent'] в последующих запросах.
IP прокси должен совпадать
Cookie cf_clearance также привязан к IP-адресу решателя. Используйте тот же прокси для последующих запросов к защищённому сайту.
Распространённые ошибки
| Код | Описание |
|---|---|
ERROR_WRONG_USER_KEY | Неверный формат API-ключа |
ERROR_KEY_DOES_NOT_EXIST | Такого API-ключа не существует |
ERROR_ZERO_BALANCE | Недостаточно средств на балансе |
ERROR_PAGEURL | Отсутствует параметр pageurl |
ERROR_BAD_PROXY | Прокси невалиден или недоступен. Обязательно укажите рабочий прокси |
CAPCHA_NOT_READY | Решение ещё не готово, подождите 5 сек |
Чем отличается от Cloudflare Turnstile
| Параметр | Cloudflare Challenge | Cloudflare Turnstile |
|---|---|---|
| Где появляется | Полноэкранный interstitial | Встроенный виджет на форме |
| Прокси | Обязателен | Опционален |
| Возвращает | Cookie cf_clearance | Токен Turnstile |
| Сценарий | Обход DDoS-защиты | Отправка защищённой формы |
См. Cloudflare Turnstile для решения виджета Turnstile.