Menù della documentazione

Come bypassare qualsiasi captcha con i task AntiGate

Dopo anni di ricerca e sviluppo, presentiamo una soluzione universale per aiutare i tuoi robot a passare attraverso i varchi captcha costruiti dagli umani. Lo chiamiamo "AntiGate", e questi sono i modelli di scenario utilizzati dai nostri lavoratori umani per eseguire precisi task.

A un certo punto la tua app incontra una protezione automatizzata "gateway" con alcuni nuovi tipi di captcha, script di navigazione offuscati, o altro. Qui entrano in gioco i nostri task AntiGate. Tu deleghi uno dei nostri lavoratori a costruire una sessione di navigazione umana.

  • Primo: scegli un modello. Puoi utilizzarne uno esistente o crearne uno tuo. Un template è un insieme di istruzioni passo dopo passo che vengono eseguite dai lavoratori.
  • Secondo: fornisci qualsiasi dato aggiuntivo richiesto dal modello, come il valore di un input da inserire, il selettore CSS di un input, o l'indirizzo web in cui dobbiamo navigare. Tra poco approfondiremo la questione dei modelli.
  • Terzo, e facoltativo: i proxy. Ti servono se un sito associa ogni cookie della sessione a un indirizzo IP esatto.
Con questi tre, crei un task con la nostra API. Un lavoratore naviga nel tuo sito con il nostro speciale plugin di navigazione ed esegue tutti gli step previsti manualmente o automaticamente. E alla fine dello script prendiamo tutte le informazioni della loro sessione di navigazione, come cookies, valori localStorage, impronte digitali di navigazione, e le ritrasmettiamo alla tua app. Tutto ciò che ti resta da fare è utilizzare questi dati per ripristinare la sessione del nostro lavoratore e continuare le operazioni come se fosse un utente umano. Non è meraviglioso? :)

Che cosa sono i modelli AntiGate?

Un modello AntiGate definisce uno scenario preciso in cui dovranno operare i nostri lavoratori. I modelli consistono in step, tutti quanti eseguiti in sequenza. Quando uno step è completato il lavoratore passa a quello successivo. Quando tutti gli step sono completati il task è finito, e viene fatto uno screenshot della sessione del lavoratore che è inviato alla tua app.

Che tipi di step ci sono?

  • Compila un campo di input di testo automaticamente o manualmente.
  • Aspetta che sulla pagina appaia un esempio di testo (o scompaia).
  • Aspetta che sulla pagina appaia un elemento DOM definito dal CSS (o scompaia).
  • Aspetta che compaia una parola chiave (o scompaia) sull'indirizzo URL della navigazione corrente del lavoratore.
Il campo di testo "description for workers" del modello può descrivere qualsiasi altro step che ti aspetti dal lavoratore. Ad esempio: "Solve a captcha and press the submit button".

Vediamo un esempio. Vai al Centro Sviluppatori e crea un template gratuito come prova. Non preoccuparti, non romperai nulla!

Clicca per aggiungere il modello
Clicca per caricare un esempio
Nota la sezione degli step

Hai caricato un esempio dimostrativo. Puoi salvarlo nel tuo account e provarlo tu stesso successivamente. Vediamo l'elenco intero delle proprietà del modello:

  • Nome modello. Una volta salvato non può essere modificato. Una volta pubblicato il tuo modello è disponibile nell'API con questo nome.
  • Descrizione per i clienti. I modelli pubblici sono disponibili nel nostro catalogo modelli.
  • Descrizione per i lavoratori. Questo è il testo che i nostri lavoratori visualizzano in alto sulla pagina.
    Esempio interfaccia lavoratori
  • Variabili. Questa è una lista di nomi di variabili che puoi aggiungere per utilizzarle negli step invece dei valori permanenti. In questo esempio ci sono due variabili, "login" e "password". Queste due sono usate negli step 1 e 2 per compilare il modulo di accesso dimostrativo. Così puoi fornire questi valori tramite l'API invece di codificare nel modello un nome utente e una password permanenti.
    Variabili utilizzate negli step 1 e 2
  • Gli step del lavoratore. Qui puoi modificare e cambiare l'ordine degli step di scenario. Nel nostro esempio facciamo come segue:
    1. Compiliamo automaticamente il campo di testo con il selettore CSS "#login". Il valore per il campo di testo è definito dalla variabile "login".
    2. Compiliamo automaticamente il campo di testo con il selettore CSS "#password". Il valore per il campo di testo è definito dalla variabile "password".
    3. Attendiamo che sulla pagina appaia un testo di controllo. È permanentemente impostato sul valore "Test passed with login".

Ora puoi salvare il modello, che comparirà nel tuo Centro Sviluppatori. Nota: ha lo stato "Sandbox", cioè significa che è disponibile soltanto a te e non nell'API. Da qui puoi provare a testare il tuo modello appena creato come se fossi il tuo lavoratore.

Modelli di prova

A questo punto dovrai usare il browser Chrome, e ti consigliamo di creare un nuovo profilo utente in questo browser perché dovremo installare il nostro plugin, che ha accesso ai cookie del profilo.

Successivamente, sulla scheda del tuo modello, premi il bottone "test".

Segui le istruzioni e scarica il plugin per la tua piattaforma. Poi ricarica la pagina affinché abbia effetto, compila le variabili "login" e "password" con alcuni valori casuali e premi il bottone "Launch Test". Dovrebbe aprirsi una nuova pagina con questo aspetto:

Vicino alla barra dell'indirizzo, c'è una barra blu aggiunta dal plugin in alto nella pagina target. È così che i lavoratori conoscono i loro compiti e controllano l'esecuzione del task.

Inoltre, considera che i campi login e password sono nascosti quando si compilano con le variabili. Questo è voluto. Nonostante i lavoratori abbiano il pieno accesso ai dati del task tramite la console dello sviluppatore, il 99,99% di loro non si preoccupa di esaminare che cosa succede dietro le quinte.

Per la risoluzione del Recaptcha, premi il bottone "Sign In". L'ultimo step del modello, "WAIT_CONTROL_TEXT_PRESENT", verrà superato. Il plugin ricerca la frase di controllo "Test passed with login", che è permanentemente definita nel tuo modello. La scheda si chiude automaticamente e l'immagine della sessione è visualizzata nel campo dei risultati.

Esempio di risultati

Gli stessi dati dell'immagine possono essere ricevuti dall'API. Ma per rendere disponibile nell'API il tuo modello dobbiamo prima pubblicarlo.

Modelli di pubblicazione

Hai 2 possibilità quando pubblichi un modello: renderlo privato o pubblico.

  • I modelli privati sono disponibili soltanto con la tua chiave API. Altri clienti non possono usarli. Costo per revisione e pubblicazione: 1$.
  • I modelli pubblici sono disponibili a tutti. Con questo modello guadagnerai il 5% sulle spese di ciascun cliente. Dovrai lasciare alcuni contatti affinché i nostri clienti possano richiedere il tuo aiuto se qualcosa non funziona col tuo modello. Costo per revisione e pubblicazione: 1$.

Revisioniamo con attenzione tutti i modelli. Devi rispettare alcuni requisiti di base per poter passare con successo alla modalità di produzione:

  • Nessuna attività illegare di alcun tipo.
  • I modelli non devono duplicare modelli esistenti.
  • Non inviare modelli fasulli o di prova.
  • Fornisci un indirizzo web di esempio e valori della variabile per la revisione. Eseguiremo un test, e tutti gli step dovranno andare a buon fine.

Richieste API

Una richiesta di creazione task all'API per il modello AntiGate di cui sopra sarà semplice, come questa:

CURL
          curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/tutorials/v2-textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask
        

Cioè tu passi le impostazioni "templateName" e "variables" per riempire il modello.

Utilizza risultati task

I task AntiGate completati con successo restituiscono una soluzione che include "cookies", "localStorage", "fingerprint" e "url". Quello che deve fare il tuo software è navigare in "url" usando "cookies" in questa richiesta, e utilizzare almeno il valore "fingerprint.self.navigator.userAgent" per l'User-Agent di navigazione. I siti più complessi immagazzinano dati importanti in localStorage, che è una specie di versione moderna dei cookie. In questo caso dovrai inserire questo dato sulla pagina prima di eseguire qualsiasi Javascript. Questi possono essere fatti in ambienti di sviluppo come Puppeteer. Questo argomento forse merita un altro articolo.

Crea i tuoi modelli

Devi soltanto seguire gli step di cui sopra senza caricare il modello di esempio. Inserisci tutti i dati correttamente e aggiungi con cura gli step. Considera che tutti gli step sono eseguiti in sequenza. Il plugin non permetterà l'esecuzione dello step successivo finché lo step in corso non è completato. In qualsiasi momento puoi salvare il tuo modello e testarlo con il plugin di navigazione del lavoratore.

Prezzi

A questo punto definiamo un prezzo a 2$ per 1000 task. Inoltre ogni secondo di esecuzione del task costa 1/60 del prezzo del task. Ad esempio, il task costa 0,002$, e il lavoratore ha speso 20 secondi per risolvero.
Il costo finale sarà 0,00266$ = 0,002 + (0,002 / 60 * 20).

Per concludere

Nel momento in cui si scrive questo articolo, dicembre 2021, questa funzione è ancora in "beta". Non esitare a postare i tuoi commenti e suggerimenti riguardi ai task AntiGate nei ticket di assistenza.