Captcha-sitekey vinden op elke pagina (4 manieren)
Elke captchaoplossing begint met de sitekey: de publieke ID die de site bij de captcha-aanbieder heeft geregistreerd. De browser kan hem zien, dus jij kunt hem ook zien. Voor PopularCaptcha is de sitekey een UUID, zoals a5f74b19-9e45-40e0-b45d-47ff91b7a6c2. Andere aanbieders gebruiken andere formaten. Google reCAPTCHA-sleutels beginnen bijvoorbeeld met 6L. Hier zijn vier plekken om hem te vinden, van makkelijkst tot betrouwbaarst.
Scarnox lost vandaag PopularCaptcha op. Het opzoeken van de sitekey werkt hetzelfde voor elke captcha, dus deze methoden helpen ook wanneer je voor een ander type plant. Andere typen, zoals reCAPTCHA en Cloudflare Turnstile, komen binnenkort.
1. Het attribuut data-sitekey
Open DevTools (F12), ga naar Elements, druk op Ctrl+F en zoek naar data-sitekey. De meeste widgets zetten de sleutel in zo'n attribuut:
<div class="h-captcha" data-sitekey="a5f74b19-9e45-40e0-b45d-47ff91b7a6c2"></div>
Als je hem hier vindt, ben je klaar. Kopieer de waarde en ga door naar de oplossing.
2. Het netwerktabblad
Als de widget door JavaScript wordt gerenderd, verschijnt het attribuut misschien nooit in de HTML. Open Network, laad de pagina opnieuw, en filter op het configuratieverzoek van de widget. Voor PopularCaptcha heet dat verzoek meestal checksiteconfig. De sitekey is een van de queryparameters:
.../checksiteconfig?v=...&host=example.com&sitekey=a5f74b19-...
Filteren op het woord sitekey in de request-URL werkt ook als de naam op de site die je test anders is.
3. De iframe-URL
De uitdaging zelf is een iframe dat door de captcha-aanbieder wordt geserveerd. De src bevat de sitekey als parameter. Klik met de rechtermuisknop op de widget, kies Inspect, en lees de waarde uit het adres van het iframe. Dit is de betrouwbaarste methode wanneer de pagina het attribuut voor het hoofddocument verbergt.
4. Onzichtbare widgets
Een onzichtbare widget heeft geen vinkje. De site roept de functie render() of execute() van de widget aan vanuit zijn eigen code, en de sitekey wordt als argument meegegeven. Zoek in het JavaScript van de pagina ernaar: open het paneel Sources en druk op Ctrl+Shift+F, en zoek daarna naar sitekey. Onzichtbare sitekeys hebben de onzichtbare vlag nodig wanneer je ze oplost. Zie onzichtbare captcha's oplossen.
De sitekey uit een script lezen
Als het attribuut in de ruwe HTML staat, kan een script hem lezen zonder 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")
Als dit niets afdrukt, wordt de widget door JavaScript gerenderd. Gebruik dan een echte browser, zoals bij de methode van het netwerktabblad hierboven. Haal alleen pagina's op die je mag automatiseren, en houd je verzoeksnelheid laag.
Welke URL hoort erbij?
Stuur de URL van de pagina waar de widget op staat als site_url. De host is het belangrijkst, dus https://example.com/signup is de waarde die je gebruikt voor een aanmeldwidget. Een volledig verzoek voor PopularCaptcha ziet er zo uit:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
"site_url": "https://example.com/signup"
}
Stuur het naar https://api.scarnox.com/api/tasks/create met je sleutel in de header Authorization: Bearer. De aanroep blokkeert totdat het token klaar is, dus er is geen tweede verzoek nodig om het resultaat te controleren.
Veelvoorkomende problemen
- Twee sitekeys op één pagina. Sites zetten soms een widget voor een inlogformulier en een andere voor aanmelden. Koppel de sleutel aan het formulier dat je echt weigert, en controleer welke het dichtst bij de verzendknop staat.
- De sleutel verandert tussen bezoeken. Lees hem bij elke run opnieuw. Sleutels zijn normaal stabiel, maar een gecachte sleutel van een oude deploy kan ophouden te werken.
- De sleutel is gevonden, maar het token wordt afgewezen. De sitekey is waarschijnlijk juist. Controleer daarna de grootte van de widget en de proxy-instelling, te beginnen met de gids over onzichtbare captcha en de vergelijking van proxy's.
Controleren of je de juiste sitekey hebt
Een pagina kan meer dan één sitekey bevatten. Analysewidgets, reactieformulieren en nieuwsbriefvakjes voegen soms hun eigen toe. Bevestig voordat je oplost dat de sitekey bij het formulier hoort dat je automatiseert. Drie snelle controles helpen:
- Zoek de verzendknop van het formulier in DevTools en loop omhoog door de DOM naar het dichtstbijzijnde element dat een
data-sitekeybevat. Dat is de widget die het formulier beschermt. - Vergelijk de sleutel met die in de iframe-URL. Als ze overeenkomen, heb je de sleutel die de widget werkelijk gebruikt.
- Verstuur het formulier één keer handmatig met een opgelost token, als je dat mag, en controleer dat de site het accepteert.
Sleutels kunnen ook veranderen wanneer een site opnieuw wordt uitgerold. Als een sleutel die gisteren werkte geen geaccepteerde tokens meer oplevert, lees de pagina dan opnieuw voordat je iets anders verandert. Een nieuwe lezing kost niets, en die sluit de meest voorkomende oorzaak van een plotselinge storing uit.
Pagina's die de widget pas na een klik laden, hebben nog één stap extra nodig. Open de pagina, voer de klik uit die de widget toont, en lees pas daarna de sitekey. Als je de pagina vóór de klik leest, krijg je niets terug. Dat lijkt op een ontbrekende widget, maar het is eigenlijk een timingprobleem. Wacht tot een element dat aan [data-sitekey] voldoet verschijnt, in plaats van voor een vaste tijd te slapen.
Volgende stappen
- PopularCaptcha oplossen in Python
- PopularCaptcha oplossen in Playwright en Puppeteer
- Soorten captcha uitgelegd
- Gratis proefversie van de captcha-solver
Begin met gratis proefcredit, zonder creditcard: maak een account aan en test je eerste sitekey.