Menu

Come bypassare qualsiasi captcha con le attività AntiGate

Una nuova versione video del tutorial sulle attività AntiGate è disponibile qui.

Dopo anni di ricerche e sviluppo, presentiamo una soluzione universale per aiutare i tuoi bot a superare i test captcha sviluppati da persone in carne e ossa. Noi lo chiamiamo "AntiGate", e questi sono i modelli di scenario che la nostra forza lavoro umana impiega per eseguire attività precise.

Ad un certo punto la tua app si troverà di fronte ad un "gateway" di protezione automatico con un nuovo tipo di captcha, script browser offuscati, o altro. È in questo momento che entrano in gioco le nostre attività AntiGate. Deleghi uno dei nostri operatori per la creazione di una sessione broser umana.
  • Primo, scegli un modello. Puoi usare uno già esistente o crearne uno tuo. Un modello è una serie di istruzioni step-by-step che gli operatori eseguono.
  • Secondo, fornisci dati aggiuntivi che il modello richiede, come il valore di un input da inserire, il selettore CSS selector di un input, o l'indirizzo web target. Parleremo più nel dettaglio dei modelli fra un pò.
  • Terzo, e opzionale - proxy. Ne hai bisogno se un sito web associa ogni cookie di sessione con un indirizzo IP esatto.
Avendo questi tre, crei un'attività con la nostra API. Un operatore navigherà sul tuo sito web con il nostro speciale plugin browser ed eseguirà tutti i passaggi dello scenario manualmente o automaticamente. E alla fine dello script prendiamo tutte le informazioni della loro sessione browser come cookies, valori localStorage, fingerprinting del browser e le rispediamo alla tua app. A te non rimane altro che usare questi dati per ricreare la sessione del nostro operatore e continuare a svolgere le tue attività come se ci fosse un utente umano. Non è fantastico? :)

Cosa sono i modelli AntiGate?

Un modello AntiGate definisce uno scenario in cui i nostri operatori dovrebbero operare. I modelli consistono in passaggi che vengono eseguiti in sequenza. Quando un passaggio viene completato, l'operatore passa al successivo. Quando tutti i passaggi sono stati completati, l'attività viene terminata, viene catturato uno snapshot della sessione dell'operatore e inviato alla tua app.

Di che tipo di passaggi si tratta?
  • Compila un campo di testo in modo automatico o manuale.
  • Attendi che un testo di esempio appaia sulla (o scompaia dalla) pagina.
  • Attendi che un elemento DOM definito da CSS appaia sulla (o scompaia dalla) pagina.
  • Attendi che una parola chiave appaia sull' (o scompaia dall') indirizzo URL attuale dell'operatore.
Il campo di testo "descrizione per gli operatori" del modello può descrivere qualsiasi altro passaggio che ti aspetti dall'operatore. Per esempio: "Risolvi un captcha and premi invio".
Vediamo un esempio. Vai su Centro sviluppatori e crea un modello gratuito di prova. Non ti preocuppare, non causerai alcun danno!
Clicca per aggiungere il modello
Clicca per caricare un esempio
Nota la sezione dei passaggi
Hai caricato un modello di prova. Puoi salvarlo nel tuo account and testarlo tu stesso più avanti. Prendiamo dimestichezza con la lista completa di proprietà del modello:
  • Nome modello. Una volta salvato, non può essere modificato. Una volta pubblicato, il tuo modello diventa disponibile nell'API con questo nome.
  • Descrizione per i clienti. I modelli pubblici sono dipsonibili nella nostra directory dei modelli.
  • Descrizione per gli operatori. Questo è il testo che i nostri operatori vedono in cima alla pagina.
    Esempio interfaccia operatori
  • Variabili. Questa è una lista di nomi variabili che puoi aggiungere e usare nei passaggi al posto dei valori permanenti. In questo esempio abbiamo 2 variabili, "login" e "password". Entrambe vengono usate nei passaggi 1 e 2 per compilare il modulo di accesso di prova. In questo modo, puoi fornire questi valori attraverso l'API invece della codifica fissa di un login e password permanenti nel modello.
    Variabili usate nei passaggi 1 e 2
  • . Qui puoi modificare e cambiare l'ordine dei passaggi dello scenario. Nel nostro esempio, procediamo in questo modo:
    1. Compiliamo il campo di testo in modo automatico con il selettore CSS "#login". Il valore per il campo di testo viene definito dalla variabile "login".
    2. Compiliamo il campo di testo in modo automatico con il selettore CSS "#password". Il valore per il campo di testo viene definito dalla variabile "password".
    3. Attedni che un testo di controllo appaia sulla pagina. È impostato permanentemente sul valore "Test passato con login".

Ora puoi salvare il modello che apparirà nel tuo Centro sviluppatori. Nota che ha lo stato "Sandbox", il che vuol dire che è disponibile solo per te e non è disponibile nell'API. Da qui puoi provare a testare il nuovo modello che hai creato tu stesso come se fossi tu l'operatore.

Testare i modeli

A questo punto dovrai usare il browser Chrome, e ti consigliamo di creare un nuovo profilo utente in questo browser poichè dovremo installare il nostro plugin che ha accesso ai cookie del profilo.
Esempio interfaccia operatori
Il prossimo step, sulla tua scheda modello, premi il pulsante "test".
Segui le istruzioni e scarica il plugin per la tua piattaforma. Poi, ricarica la pagina per attivarlo, compila le variabili "login" e "password" con dei valori casuali e premi su "Avvia Test". Si dovrebbe aprire una nuova pagina che apparirà così:

Affianco alla barra dell'indirizzo, c'è una barra blu che il plugin aggiunge in cima alla pagina target. Questo è il modo in cui gli operatori ricevono i loro incarichi e controllano l'esecuzione dell'attività.

Tieni presente anche che i campi login e password sono nascosti quando vengono compilati con delle variabili. Questo è voluto. Anche se gli operatori hanno accesso completo ai dati dell'attività attraverso la console degli sviluppatori, il 99.99% di loro non si preoccupa di esaminare cosa sta accadendo dietro le quinte.
Quando risolvi il Recaptcha, premi il pulsante "Accedi". L'ultimo passaggio del modello, "WAIT_CONTROL_TEXT_PRESENT", verrà completato. Il plugin cercherà la frase di controllo "Test passato con login" che è definita permanentemente nel tuo modello. La finestra si chiuderà automaticamente e lo snapshot della sessione viene mostrato nel campo dei risultati.
Esempio risultati

Gli stessi dati dello snapshot possono essere ricevuti dall'API. Tuttavia, per rendere il tuo modello disponibile nell'API, per prima cosa dobbiamo pubblicarlo.

Pubblicare i modelli

Hai 2 opzioni quando pubblichi un modello: lo puoi rendere privato o pubblico.
  • I modelli privati sono disponibili solo con la tua chiave API. Altri clienti non possono usarli. Costo per la verifica e la pubblicazione: 1$.
  • I modelli pubblici sono disponibili per chiunque. Con questo modello guadagnerai il 5% sulle spese di ogni singolo cliente. Dovrai lasciare dei contatti che i nostri clienti possono usare in caso di assistenza se si verifica qualche problema con il tuo modello. Costo per verifica e pubblicazione: 1$.
Noi verifichiamo attentamente tutti i modelli. Dovrai soddisfare alcuni requisiti di base per riuscire a passare alla modalità di produzione:
  • Nessun tipo di attività illegale.
  • I modelli non devono essere duplicati di altri già esistenti.
  • Non inviare modelli di prova o fittizi.
  • Fornisci un indirizzo web di esempio e valori variabili per la verifica. Noi avvieremo un test, e tutti i passaggi devono essere portati a termine con successo.

Richieste API

Una richiesta all'API per la creazione di un'attività per il modello AntiGate sopramenzionato apparirà semplicemente così:

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/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Ovvero, fornisci i parametri "templateName" e "variabili" per compilare il modello.

Usare i risultati delle attività

Attività AntiGate completate con successo restituiscono una soluzione che include "cookie", "localStorage", "fingerprint" e "url". Quello che il tuo software deve fare è andare su "url" usando "cookie" in questa richiesta, e usare almeno il valore "fingerprint.self.navigator.userAgent" per lo User-Agent del browser. Siti web più complessi conservano dati importanti in localStorage che si potrebbe definire una versione moderna dei cookie. In questo caso dovrai iniettare questo dato sulla pagina prima di avviare effettivamente qualsiasi Javascript. Ciò può essere fatto in un ambiente di sviluppo come Puppeteer. Questo argomento probabilmente merita un articolo a parte.

Creare i tuoi modelli

Segui semplicemente i passaggi di cui sopra senza caricare il modello esempio. Compila bene tutti i dettagli e aggiungi accuratamente i passaggi. Tieni presente che tutti i passaggi vengono eseguiti in sequenza. Il plugin non consentirà l'esecuzione dello step successivo finchè non viene completato quello attuale. In qualsiasi momento puoi salvare il tuo modello e testarlo con il plugin browser dell'operatore.

Costi

In questo momento, abbiamo impostato il prezzo a 2$ per 1000 attività. In aggiunta, ogni secondo dell'esecuzione dell'attività costa 1/60 del prezzo dell'attività. Ad esempio, l'attività costa 0.002$ e l'operatore ha impiegato 20 secondi per risolverla.
Il costo finale sarà $0.00266 = 0.002 + (0.002 / 60 * 20) .