Scarnox · Blog

Come trovare la sitekey di un captcha su qualsiasi pagina (4 modi)

Ogni risoluzione di un captcha inizia dalla sitekey: l'ID pubblico che il sito ha registrato presso il provider del captcha. Il browser la vede, quindi puoi vederla anche tu. Per PopularCaptcha, la sitekey è un UUID come a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Altri provider usano formati diversi. Le chiavi di Google reCAPTCHA, per esempio, iniziano con 6L. Ecco quattro punti dove trovarla, dal più facile al più affidabile.

Scarnox risolve PopularCaptcha oggi. La ricerca della sitekey funziona allo stesso modo per qualsiasi captcha, quindi questi metodi ti aiutano anche quando pianifichi un altro tipo. Gli altri tipi, come reCAPTCHA e Cloudflare Turnstile, sono in arrivo.

1. L'attributo data-sitekey

Apri DevTools (F12), vai su Elements, premi Ctrl+F e cerca data-sitekey. La maggior parte dei widget mette la chiave in un attributo come questo:

<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>

Se la trovi qui, hai finito. Copia il valore e passa alla risoluzione.

2. La scheda Network

Se il widget viene renderizzato da JavaScript, l'attributo potrebbe non comparire mai nell'HTML. Apri Network, ricarica la pagina e filtra la richiesta di configurazione del widget. Per PopularCaptcha quella richiesta di solito si chiama checksiteconfig. La sitekey è uno dei suoi parametri di query:

.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...

Filtrare per la parola sitekey nell'URL della richiesta funziona anche se sul sito che stai testando il nome è diverso.

3. L'URL dell'iframe

La sfida vera e propria è un iframe servito dal provider del captcha. Il suo src contiene la sitekey come parametro. Fai clic destro sul widget, scegli Ispeziona e leggi il valore dall'indirizzo dell'iframe. È il metodo più affidabile quando la pagina nasconde l'attributo nel documento principale.

4. Widget invisibili

Un widget invisibile non ha una checkbox. Il sito chiama la funzione render() o execute() del widget dal proprio codice, e la sitekey viene passata come argomento. Cercala nel JavaScript della pagina: apri il pannello Sources e premi Ctrl+Shift+F, poi cerca sitekey. Le sitekey invisibili richiedono il flag invisibile quando le risolvi. Vedi risolvere captcha invisibili.

Leggere la sitekey da uno script

Se l'attributo è nell'HTML grezzo, uno script può leggerlo senza un browser:

import re
import requests

html = requests.get("https://example.com/signup", timeout=30).text
m = re.search(r'data-sitekey="([^"]+)"', html)
print(m.group(1) if m else "no data-sitekey in the raw HTML")

Se questo non stampa nulla, il widget viene renderizzato da JavaScript. Usa un browser reale, come nel metodo della scheda Network qui sopra. Richiedi solo pagine che sei autorizzato ad automatizzare, e mantieni basso il ritmo delle richieste.

Quale URL va con essa?

Invia come site_url l'URL della pagina su cui si trova il widget. Conta soprattutto l'host, quindi https://example.com/signup è il valore da usare per un widget di registrazione. Una richiesta completa per PopularCaptcha è così:

{
  "captcha_type": "PopularCaptchaTaskProxyless",
  "site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
  "site_url": "https://example.com/signup"
}

Inviala a https://api.scarnox.com/api/tasks/create con la tua chiave nell'header Authorization: Bearer. La chiamata si blocca finché il token non è pronto, quindi non serve una seconda richiesta per controllare il risultato.

Problemi comuni

Verificare di avere la sitekey giusta

Una pagina può contenere più di una sitekey. Widget di analytics, form dei commenti e box di newsletter a volte ne aggiungono una propria. Prima di risolvere, verifica che la sitekey appartenga al form che stai automatizzando. Tre controlli rapidi aiutano:

Anche le chiavi possono cambiare quando un sito viene ridistribuito. Se una chiave che funzionava ieri smette di produrre token accettati, rileggi la pagina prima di cambiare altro. Una nuova lettura non costa nulla, ed esclude la causa più comune di un guasto improvviso.

Le pagine che caricano il widget solo dopo un clic richiedono un passaggio in più. Apri la pagina, esegui il clic che mostra il widget, e solo allora leggi la sitekey. Leggere la pagina prima del clic non restituisce nulla, il che sembra un widget mancante ma in realtà è un problema di tempistica. Aspetta che compaia un elemento che corrisponde a [data-sitekey] invece di attendere un tempo fisso.

Prossimi passi

Inizia con crediti di prova gratuiti, senza carta di credito: crea un account e prova la tua prima sitekey.