Hoppa till huvudinnehåll
Denna artikel kommer att introducera en Recaptcha2 protokolligenkänning API integrationsbeskrivning, som gör det möjligt för användare att verifiera utan att behöva identifiera och klicka på Recaptcha2 verifieringsbilder, utan endast genom att skicka in Website Key för att möjliggöra automatisk avkodning i bakgrunden och slutföra verifieringen.

Ansökningsprocess

För att använda API:et måste du först gå till Recaptcha2 protokolligenkänning API motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på “Acquire”-knappen, som visas i bilden nedan: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan där du blir inbjuden att registrera dig och logga in. Efter att ha loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda detta API gratis.

Grundläggande användning

Först och främst, låt oss förstå den grundläggande användningsmetoden, vilket är att ange URL:en för den webbplats som behöver bearbeta verifieringskoden, så får du det bearbetade resultatet. Först behöver vi enkelt skicka ett website_url fält. Vår exempelwebbplats är: https://www.google.com/recaptcha/api2/demo, vi behöver hämta website_key från website_url-sidan. Först öppnar vi denna webbsida, trycker på F12 för att gå till konsolen, och gör sedan en global sökning på Element-sidan efter recaptcha-demo, så får vi följande resultat:

Där data-sitekey motsvarar en sträng som är värdet av website_key, nedan är de specifika parameterresultaten:

Vi kan se att vi har ställt in Request Headers, inklusive:
  • accept: vilken typ av svar vi vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: nyckeln för att anropa API:et, efter ansökan kan du direkt välja från rullgardinsmenyn.
Dessutom har vi ställt in Request Body, inklusive:
  • website_url: URL:en för den webbplats som behöver bearbeta verifieringskoden.
  • website_key: webbplatsens nyckelidentifierare i Recaptcha2.
När du har valt kan du se att det också har genererats motsvarande kod till höger, som visas i bilden nedan:

Klicka på “Try”-knappen för att göra ett test, som visas i bilden ovan, så får vi följande resultat:
{
  "token": "03AFcWeA5kjJyDQ9S1a9UYimR6nuxnpEnAs5x2Pixao0dXZhMBjiR2MwAwN7K3NXik02Vl--cEmCwxDuf7mNBMbGlfLHb5948cvCdk1jnp_mjbWzT9ZyxzSnny52TiWVZo1xvTTad5QIQz9iRfJrjcM1BkBj5OpwT4mRVK-Yoz8Q8m5MlXEwQ5Zyp0Lxh_L-32EkdwyyCIOlG-Q1wJ-lR7utNB6E8MCrtTM1tox75-3KPvMNHbTjvqSf1l3FO_bASk39mtleI_NjThAPHCBL__cHu2wJxRYITYxqYgCu3FYcmC3OfcUJJEmgg4KEpQTIjo1X2N1m81obHWKrOrrNqfQvELnXrhHU4gVcFwpaMladoLysqOrDqHsYxNeUTp5YiEu6_Xl2eC6r9IKTbeddIf5QXQML_OILc4Ee3-vEUepmelWq7GE4wOKf8zQ8Xfz1MbJM3daEmiVEMFs4EQsjGgioPeyQUjiJT5U2sZfiJbgyGdUVletCBn4abnSLBYVI-rKKlETKu4IQVGCmh_hNn7cnkX3E5p_Kqu3gifOYHSbCu2ctuaPe9G3M8XxbQ57b_UFgg1MMToSAcZDL2NWtL4yPag5Y4lCnpmfrGOwvX-QFF0JF-DrbRn_Opv52JrLD9GrfGxo99kiucQIZkAzpWLV3Kkhtep2DB8OiA4rSb5R6xT4nNoawg1BM2cM5jazL-1U6LzSs9Hq1XWV1nwj-8-mTDwHmBYMI6fmSfl1-bOX0uHGgWHnzEAW2mw4EErVVUTUJJcUr_LZ2woRkexk-CPQTtdlHmQHbt_1FsOzfGtnXY87xIbhCJReVyv-_HQ48d9xCDuQ-JnNjX98NfDsfvpxe9Zar_LjcQCBNtvHgKH_JkniBDiWrZBAoDJIonDjJ6X1mmWLyPDxYmBR6O7QkxR3DxdDvZQRaZnfD-_sA9T9JEkYWHdBlpumEBq9wVs8dSm60TiRAOZU1ZLjieGP5vI5_aV-ct5SwOmWHF-VQkJUfNZ33MoEkZW2Rvh7_ERbI_PRS_u65BCkhuOh8fmQcxJU5YACpoLXXkwGM8qmSB1yBBeOQL-wWUfo8GREpZIu1oGQVQ8k3FcNJzFQQAYcLBWfGn-8qMxfAJEd356lJYIUuU1CY2rhR1u_7C1R_bH0WTifDqYLCRGzn-tzqBOXybrkOs_KURL-gT6wAoZRpUvBBAEa1mRg5gxap0pOkpdf7MPb5PsWVME7E3stvordioyN2tdLKr6VC-0kiQZD1WzykazPZzkl302Y_kpQ2vKPawWVWmNhy5Vm_cwT6afOAuSHnU1aYtFNvEDpBcXXH2YcqS-sBnMb3KlO5KpfZSp-tGzvjds46ajyoD7bHGzxvCx9EplICVrGWQ8gRYe2MCVJ3OocE-VK7PxI1iKXJK_LBl4hQR7uUKaDVEbmBYMcgS1z5YmXbJV89yjrU-u5ncTn5JkJgoSdOvMi8l2fsZIl2wYi-hWgQjP6LLI6M6wr8AhyiSZBQ34adR07niQPzLfX5Ntwr_8NyMg69bWKlLXknv8O2KznYXQQwsWA3okJCGwhfJkp35QnkHsprTN9LD48cwg8zP7a1mgM-2WHuZmoCpqg1XJgT_tPjc7X9kCQt8e3YirW6IJs-CdBUDkbp12FCukip48mDz7SOWjnLruoNABfo_zCurdOQY_tfcWe4g_ef0y_vey3hLGvxuay_ZMGzDLIo-7_WEp7jU09YKqWOZV7cSxDPm65M1v69ND6b5awsopISEe7E3hKMGrVSonRa9_bkiQ2fuPa5-xitNr4IMxwWMepqDk54v_cyVzUBdAAq8V8w3VHvV4-tjTXFqp0L54RBhJ_EaCXO7nwNbVLqCirfDpKRASfkYoaqsoXbwFMpfFrh-KzDZVIuU6D-VBF5k50ufGPnoXTA8kIF0GjAepW5SCxYupoQos4La6W2f--cl4WAl8oKhSpFtRpb1CNMKmtD7_BJrPDxpnXiA-ENBFe8Y4EOoG5uavVeQl6YftHej52JOTKurOqD-NE-UDBLInNuOo0ayCdV1w8XDAnORgxbkYP65GO5FdytK4zrDVNQEK26D54e0xLpDqUG8UUmUT_VNj9UY78WyWGPTXiGwYAA2_iVUKbT8-phHLDDqeoG3Q5iTP7RUpaW49JmM-tlSeczqqyy9Wc8iZh2Cf9veRJ7HiUeIEMeKGnqD7E9nXxcjC75GzIo477c83U7QN_1QXQjWuAr0C3KFq2W7dJmO08pQ0Z13dG7tz4Ilg1Bc3LIcNgeJLkCTZYpDpn7JpeZRbe6fqvmbqWPQ"
}
Resultatet innehåller flera fält, beskrivs som följer:
  • token, resultatet av att hantera Recaptcha2-verifieringsuppgiften.
Vi kan se att vi har fått verifieringsresultatet för att hantera Recaptcha2, och vi kan använda det för att POST:a eller simulera en inlämning till målsidan, engångsanvändning, giltighetstid 120 sekunder, rekommenderas att använda inom 60 sekunder. Nästa steg är att tillhandahålla en Python-version för att skicka den bearbetade token till målsidan för att passera Recaptcha2. Först behöver vi ta reda på hur webbplatsen skickar POST-förfrågningar, så att vi kan skicka den genererade token. Vi behöver först öppna F12-konsolen och sedan manuellt genomföra verifieringen. Slutligen kan vi se att webbplatsen skickade en POST-förfrågan, och vi behöver bara titta på konstruktionen av denna POST-förfrågan. Den specifika processen är som följer:
  • Genomför först verifieringen manuellt, som visas i bilden nedan:

  • Klicka sedan på skicka och observera förändringarna i nätverket i konsolen, som visas i bilden nedan:

  • Analysera konstruktionen av den här POST-förfrågan, och slutligen kan du högerklicka på förfrågan för att kopiera CURL-koden, som visas i bilden nedan:

Av ovanstående bild kan vi se att URL:en för denna POST-förfrågan är: https://www.google.com/recaptcha/api2/demo, vi behöver endast skicka parametern g-recaptcha-response, och vi behöver bara överföra den bearbetade token i nedanstående data, koden för att anropa token för verifiering ser ut som följer:
curl 'https://www.google.com/recaptcha/api2/demo' \
  --data-raw 'g-recaptcha-response={token}’
Koden för att anropa tokenverifiering i Python ser ut som följer:
import requests

token = '{token}'

data = {
    'g-recaptcha-response': token,
}

response = requests.post('https://www.google.com/recaptcha/api2/demo',data=data)

if response.status_code:
    print(response.text)

Sedan kör vi koden och observerar att konsolen visar ett sådant resultat:

Till slut har vi genomfört verifieringen av Recaptcha2-koden. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genereras, till exempel CURL-koden ser ut som följer:
curl -X POST 'https://api.acedata.cloud/captcha/token/recaptcha2' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "website_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
  "website_url": "https://www.google.com/recaptcha/api2/demo"
}'
Python-integrationskoden ser ut som följer:
import requests

url = "https://api.acedata.cloud/captcha/token/recaptcha2"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "website_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "website_url": "https://www.google.com/recaptcha/api2/demo"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Felhantering

Vid anrop av API:et, om du stöter på fel, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Bad request, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Unauthorized, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många förfrågningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Exempel på felrespons

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Recaptcha2-protokollet för att identifiera API så att användare inte behöver identifiera och klicka på Recaptcha2-verifieringsbilder, utan endast behöver skicka Website Key för att möjliggöra automatisk avkodning i bakgrunden och slutföra verifieringen. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.