Cloudflare : Turnstile, erreur 1020 et empreinte TLS
Cloudflare protège une large part du web : défis JavaScript, Turnstile, pare-feu applicatif. Voici comment identifier les blocages (dont l'erreur 1020), comprendre leur cause et les aborder proprement.
Cloudflare, gardien d'une large part du web
Cloudflare s'interpose entre les visiteurs et de nombreux sites : il filtre le trafic, met en cache les ressources et applique des règles de sécurité. Une part importante des sites que vous voulez atteindre passe donc par lui.
Pour un accès automatisé, cela signifie souvent rencontrer un défi JavaScript, un contrôle Turnstile ou un blocage par règle de pare-feu — d'où l'intérêt de comprendre ce qui se joue.
L'erreur 1020 : accès refusé par le pare-feu
L'erreur 1020 est renvoyée par le pare-feu applicatif (WAF) de Cloudflare lorsqu'une règle bloque la requête. Elle signale un refus côté règle, pas un problème de rendu : le contenu n'est jamais servi.
Les causes courantes : une règle qui cible un motif d'URL, un User-Agent, une plage d'IP ou un pays. La réponse est une page Cloudflare explicite, souvent en HTTP 403.
- Renvoyée par le WAF (règle de blocage)
- Souvent en HTTP 403, page Cloudflare dédiée
- Déclenchée par URL, User-Agent, IP ou pays
Turnstile et les défis JavaScript
Turnstile est l'alternative de Cloudflare aux CAPTCHA : un défi, souvent invisible, qui s'exécute dans la page. Le client doit produire un jeton valide pour continuer.
D'autres pages utilisent un défi JavaScript (« checking your browser ») qui attend quelques secondes puis recharge. Dans les deux cas, il faut exécuter la page : une requête HTTP nue reste bloquée.
L'empreinte TLS et les en-têtes
Cloudflare peut analyser la façon dont la connexion est établie : empreinte TLS (ordre des extensions, versions), en-têtes HTTP, cohérence générale. Un client dont la signature diffère d'un navigateur réel est plus facilement suspecté.
Un navigateur headless moderne, correctement configuré, présente une empreinte cohérente avec un vrai navigateur — c'est ce qui permet de franchir cette analyse.
Diagnostiquer un blocage Cloudflare
Avant de corriger, identifiez la nature du blocage : code HTTP, présence d'une page Cloudflare, mention « Turnstile », « checking your browser » ou code d'erreur (1020, 1015…).
Chaque indice oriente vers une cause : l'erreur 1020 pointe une règle WAF ; un défi Turnstile pointe l'exécution JavaScript ; un 429 pointe la limitation de débit.
- Lire le code HTTP et le corps de la réponse
- Repérer le code Cloudflare (1020, 1015…)
- Distinguer règle WAF, défi JavaScript et limitation de débit
L'approche ScraperFlow face à Cloudflare
ScraperFlow exécute un navigateur headless réaliste, exécute le JavaScript et attend le rendu : les défis Turnstile et « checking your browser » se déroulent comme pour un visiteur.
Pour les blocages par règle ou par IP, l'adaptation de la cadence et la répartition de la charge réduisent le risque. Nous ne promettons pas de franchir toutes les configurations : certaines règles WAF visent volontairement à exclure l'automatisation.
Bonnes pratiques et limites
Automatisez avec retenue : respectez le robots.txt et les conditions d'utilisation, limitez la fréquence, et n'aspirez que ce dont vous avez besoin. Un accès massif est le premier déclencheur de blocage.
Gardez en tête que les défenses évoluent : ce qui fonctionne aujourd'hui peut changer. Un accès stable repose sur un navigateur réaliste, une cadence maîtrisée et une surveillance continue.
- Respecter robots.txt et CGU
- Limiter la fréquence et le volume
- Surveiller et adapter face aux évolutions
Questions fréquentes
Qu'est-ce que l'erreur 1020 de Cloudflare ?
C'est une erreur renvoyée par le pare-feu applicatif (WAF) de Cloudflare quand une règle bloque la requête : le contenu n'est jamais servi. Elle indique un refus côté règle (motif d'URL, User-Agent, IP, pays) et non un problème de rendu.
Turnstile est-il un CAPTCHA ?
Turnstile est l'alternative de Cloudflare aux CAPTCHA : un défi, souvent invisible, qui s'exécute dans la page et produit un jeton. Il vise à vérifier qu'un humain est présent sans imposer systématiquement une grille d'images.
Pourquoi Cloudflare bloque-t-il mon script Python ?
Un script utilisant une bibliothèque HTTP minimale présente une empreinte (TLS, en-têtes) qui diffère d'un navigateur et n'exécute pas le JavaScript : il échoue aux défis et peut déclencher une règle WAF. Un navigateur headless réaliste franchit ces étapes pour de nombreux sites.
ScraperFlow franchit-il toujours Cloudflare ?
Non. ScraperFlow exécute le JavaScript et présente une empreinte réaliste, ce qui franchit de nombreuses protections, mais certaines règles WAF visent explicitement à exclure l'automatisation. Les résultats varient selon la configuration du site.
Prêt à aspirer un site web ?
Lancez votre premier scraping en quelques secondes, gratuitement.
Lancer un scraping