Hur du förbigår alla typer av captchor med AntiGate-uppdrag
Efter ett par år av efterforskning och utveckling introducerar vi nu en universallösning för att hjälpa dina robotar förbigå captchor skapade av människor. Vi kallar dem "AntiGate". De är scenariomallar som vår mänskliga arbetsstyrka använder för att utföra specifika uppgifter.

Vid en viss tidpunkt upptäcker din app ett automatiserat "gateway"-skydd med någon ny typ av captcha, obfuskerat webbläsarskript eller vad det nu än kan vara. Det är då våra AntiGate-uppdrag kommer in. Du ger en av våra arbetare i uppdrag att bygga en riktig mänsklig webbläsarsession.
- Först väljer du en mall. Du kan välja en redan existerande eller skapa din egen. En mall är en uppsättning instruktioner i steg-för-steg-form som arbetare utför.
- Ange sedan den övriga data mallen kräver, som värden till formulär att fylla i, inputfältens CSS-selektorer och webbadressen det gäller. Vi återkommer till mallar om en liten stund.
- För det andra, och frivilligt – proxys. Du behöver dem om webbplatsen kopplar ihop varje sessionscookie med en specifik ip-adress.
Vad är AntiGate-mallar?
En AntiGate-mall definierar ett specifikt scenario som våra arbetare ska utföra. Mallar består av steg, som alla utförs i den ordning de anges. När ett steg är genomfört går arbetaren vidare till nästa. När alla steg är genomförda är uppdraget slutfört och en snapshot av arbetarens session skickas tillbaka till din app.
Vilka typer av steg finns det?
- Fylla i formulärfält automatiskt eller manuellt.
- Vänta på att en viss text ska dyka upp på (eller försvinna från) sidan.
- Vänta på att ett visst DOM-element, definierat med CSS, ska dyka upp på (eller försvinna från) sidan.
- Vänta på att ett visst ord ska dyka upp i (eller försvinna från) arbetarens aktuella URL.
Låt oss kika på ett exempel. Gå till Developers Center och skapa en mall för att testa. Oroa dig inte, inget kommer gå sönder!



Du har hämtat ett demoexempel. Du kan spara det på ditt konto och testa det på egen hand senare. Låt oss bekanta oss med mallens alla olika egenskaper:
- Mallens namn. När det väl är sparat kan det inte ändras. När du publicerar den finns mallen tillgänglig i API:t under detta namn.
- Beskrivning för kunder. Publika mallar finns tillgänliga i vårt mallbibliotek.
- Beskrivning för arbetare. Detta är den text våra arbetare ser längst upp på sidan. Exempel på arbetarnas vy
- Variabler. Det här är en lista med namn på variabler som du kan lägga till i stegen i stället för att använda permanenta värden. I det här exemplet har vi två variabler: "login" och "password". Dessa två används i steg 1 och 2 för att fylla i exempelformuläret för inloggning. På så sätt kan du skicka dessa värden via API:t i stället för att hårdkoda inloggningsuppgifterna i mallen. Variabler som används i steg 1 och 2.
- Arbetarens steg. Här kan du ändra stegen samt dess ordning i scenariot. I vårt exempel gör vi följande:
1. Fyll i textfältet med CSS-selektorn "#login" automatiskt. Värdet för textfältet definieras av variabeln "login".
2. Fyll i textfältet med CSS-selektorn "#password" automatiskt. Värdet för textfältet definieras av variabeln "password".
3. Vänta tills en kontrolltext dyker upp på sidan. Den är permanent satt till värdet "Test passed with login".
Du kan nu spara mallen och den kommer att synas i ditt Developers Center. Lägg märke till att den har "sandbox"-status, vilket innebär att den bara finns tillgänglig för dig och är inte tillgänglig i API:t. Härifrån kan du prova att testa din nyskapade mall som om du var din egna arbetare.
Testa mallar
Du måste då använda Chrome som webbläsare. Vi rekommenderar också att du skapar en ny användarprofil i webbläsaren eftersom vi måste installera vårt tillägg, som har tillgång till profilens cookies.

På mallens kort, tryck sedan på knappen "test".

Följ instruktionerna och ladda ner tillägget för din plattform. Ladda sedan om sidan för att genomföra ändringarna, fyll i variablerna för "login" och "password" med vad som helst och tryck sedan på "Launch Test"-knappen. En ny sida bör då öppnas som ser ut så här:

Lägg också märke till att fälten för användarnamn och lösenord är dolda när de fylls med variabler. Det är medvetet. Även om arbetare har full tillgång till uppdragsdatan via utvecklarverktyget så bryr sig 99,99 % av dem inte om vad som sker i bakgrunden.
När Recaptchan löses, tryck på "Sign In"-knappen. Som mallens sista steg skickas "WAIT_CONTROL_TEXT_PRESENT". Tillägget söker efter kontrollfrasen "Test passed with login", som är permanent definierad i mallen. Fliken stängs automatiskt och en snapshot av sessionen visas i resultatfältet.

Samma snapshotdata kan hämtas via API. Men för att göra din mall tillgänglig i API:t behöver vi först publicera den.
Publicera mallar
Du har två val när det kommer till att publicera mallar: antingen göra dem privata eller publika.
- Privata mallar kan endast användas med din API-nyckel. Andra kunder kan inte använda dem. Kostnad för att granska och publicera: 1 USD.
- Publika mallar är tillgängliga för alla. Du tjänar 5 % av vad varje kund spenderar med denna mall. Du måste lämna några kontaktuppgifter så att våra kunder kan kontakta dig om det uppstår något fel med din mall och de behöver hjälp. Kostnad för att granska och publicera: 1 USD.
Vi granskar alla mallar noga. Du måste följa några grundläggande krav för att kunna byta till produktionsläget:
- Ingen olaglig aktivitet av något slag.
- Mallar får inte vara duplikat av redan existerande mallar.
- Ladda inte upp dummy- eller testmallar.
- Skicka med en exempel-URL och variabelvärden för granskning. Vi genomför ett test och alla steg ska kunna genomföras utan problem.
API-förfrågningar
En API-förfrågan om att skapa ett uppdrag för ovan nämnda AntiGate-mall kan vara så enkel som följande:
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
Det vill säga att för att fylla i mallen skickar du med parametrarna "templateName" och "variables".
Använda uppdragsresultat
AntiGate-uppdrag som genomförs utan problem svarar med en lösning som inkluderar "cookies", "localStorage", "fingerprint" och "url". Allt din mjukvara behöver göra är att gå till till "url" med hjälp av "cookies" och åtminstone använda "fingerprint.self.navigator.userAgent"-värdet som webbläsarens User-Agent. Mer komplicerade webbplatser lagrar viktig data i localStorage som är ett slags modern version av cookies. I det fallet måste du injicera den här datan på sidan innan du kör något Javascript på riktigt. Det går att göra i utvecklarmiljöer som Puppeteer. Ämnet förtjänar troligen en annan artikel.
Skapa dina egna mallar
Följ helt enkelt stegen ovan utan att ladda exempelmallen. Fyll i alla detaljer noggrant och lägg till stegen. Tänk på att stegen genomförs i den ordning du anger dem. Tillägget tillåter inte utförandet av nästa steg innan det pågående är slutfört. Du kan när som helst spara mallen och testa den med arbetarnas webbläsartillägg.
Priser
För tillfället har vi satt priset till 2 USD per 1 000 uppdrag. Varje sekund uppdraget tar att utföra kostar sedan 1/60 av uppdragspriset. Exempel: uppdraget kostar 0,002 USD och arbetaren lade ner 20 sekunder på att lösa det.
Den totala kostnaden blir då 0,00266 = 0,002 + (0,002 / 60 * 20).
Sammanfattning
I skrivande stund, december 2021, är funktionen fortfarande i betaläge. Lämna gärna kommentarer eller förslag om AntiGate-uppdrag i ett supportärende.