omocaptchaTef
Ghost member
Situé à: Vietnam
Enregistré: 23-08-2026
Messages: 1
|
|
Kak reshit reCAPTCHA cherez API: v2 i v3 Korotko: chtoby reshit reCAPTCHA programmno, vy ne nazhimaete galochku v brauzere, a poluchaete ot servisa gotovyy token. Kak reshit reCAPTCHA na praktike eto tri shaga: schitat data-sitekey i URL stranitsy, otpravit ih v API cherez createTask, dozhdatsya rezultata v getTaskResult i podstavit poluchennyy token v pole g-recaptcha-response. Nizhe rabochiy kod na Python i Node.js pod API OMOCaptcha, razbor razlichiy v2 i v3, a takzhe tseny i otvety na chastye voprosy. reCAPTCHA v2 i v3: v chem raznitsa reCAPTCHA ot Google suschestvuet v dvuh osnovnyh versiyah, i podhod k avtomatizatsii u nih raznyy. Parametr - reCAPTCHA v2 - reCAPTCHA v3 Vzaimodeystvie - Chekboks Ya ne robot + kartinochnyy challenge - Nevidimaya, bez deystviy polzovatelya Rezultat - Token g-recaptcha-response - Token + otsenka riska (score 0.0 1.0) Klyuchevye polya - websiteURL, websiteKey - + pageAction, minScore Proverka na servere - Validen / nevaliden - Porog minScore (obychno 0.5 0.7) Reshenie reCAPTCHA v2 vozvraschaet token posle prohozhdeniya vizualnogo testa. Reshenie reCAPTCHA v3 otdaet token, privyazannyy k deystviyu (action) i otsenke doveriya: server sayta sam reshaet, propuskat li zapros po znacheniyu minScore. Tehnicheski potok odinakovyy menyayutsya lish polya zadachi. Ofitsialnuyu dokumentatsiyu po parametram mozhno posmotret v Google reCAPTCHA docs (https://developers.google.com/recaptcha/docs/display). Potok tokena: kak eto rabotaet Logika edinaya dlya vseh token-kapch i sovpadaet s kontseptsiey bystrogo starta Captcha API (https://blog.omocaptcha.com/captcha-api-bystryy-start): 1. Naydite na tselevoy stranitse data-sitekey eto websiteKey. Polnyy adres stranitsy eto websiteURL. 2. Otpravte POST /createTask s tipom zadachi RecaptchaV2TokenTask. V otvet pridet taskId. 3. Oprashivayte POST /getTaskResult, poka status ne stanet ready. 4. Prochitayte token iz solution.gRecaptchaResponse i podstavte ego v pole formy g-recaptcha-response, zatem otpravte formu. Vse otvety prihodyat s HTTP-statusom 200; uspeh opredelyaetsya polem errorId (0 = uspeh). Eto AntiCaptcha-sovmestimyy format konverta oshibok. Reshenie reCAPTCHA na Python (requests) Primer nizhe pokazyvaet, kak oboyti reCAPTCHA na Python legalno naprimer, dlya regressionnogo testirovaniya sobstvennoy formy. Obratite vnimanie na vezhlivyy opros s backoff i obyazatelnyy timeout. import time import requests API_KEY = "YOUR_API_KEY" BASE = "https://api.omocaptcha.com/v2" def create_task(website_url, website_key): payload = ( "clientKey": API_KEY, "task": ( "type": "RecaptchaV2TokenTask", "websiteURL": website_url, "websiteKey": website_key, ), ) r = requests.post(f"(BASE)/createTask", json=payload, timeout=30) data = r.json() if data["errorId"] != 0: raise RuntimeError(f"createTask: (data['errorCode']) (data['errorDescription'])") return data["taskId"] def get_result(task_id, tries=24): delay = 3 for _ in range(tries): r = requests.post( f"(BASE)/getTaskResult", json=("clientKey": API_KEY, "taskId": task_id), timeout=30, ) data = r.json() if data["errorId"] != 0: raise RuntimeError(f"getTaskResult: (data['errorCode'])") if data["status"] == "ready": return data["solution"]["gRecaptchaResponse"] if data["status"] == "fail": raise RuntimeError("Zadacha zavershilas s oshibkoy (fail)") time.sleep(delay) delay = min(delay + 2, 10) # backoff raise TimeoutError("Token ne gotov za otvedennoe vremya") if __name__ == "__main__": task_id = create_task("https://example.com/login", "6Lc_SITE_KEY_HERE") token = get_result(task_id) print("g-recaptcha-response:", token[:40], "...") Dalshe token podstavlyaetsya v skrytoe pole #g-recaptcha-response cherez vash brauzernyy drayver (Selenium/Playwright) ili otpravlyaetsya napryamuyu v zaprose, esli vy vosproizvodite POST formy. Reshenie reCAPTCHA na Node.js (fetch) Tot zhe potok na nativnom fetch (Node.js 18+), s taymautom cherez AbortController: const API_KEY = "YOUR_API_KEY"; const BASE = "https://api.omocaptcha.com/v2"; async function post(path, body, ms = 30000) ( const ctrl = new AbortController(); const t = setTimeout(() => ctrl.abort(), ms); try ( const res = await fetch(`$(BASE)$(path)`, ( method: "POST", headers: ( "Content-Type": "application/json" ), body: JSON.stringify(body), signal: ctrl.signal, )); return await res.json(); ) finally ( clearTimeout(t); ) ) async function createTask(websiteURL, websiteKey) ( const data = await post("/createTask", ( clientKey: API_KEY, task: ( type: "RecaptchaV2TokenTask", websiteURL, websiteKey ), )); if (data.errorId !== 0) throw new Error(`$(data.errorCode): $(data.errorDescription)`); return data.taskId; ) async function getResult(taskId, tries = 24) ( let delay = 3000; for (let i = 0; i < tries; i++) ( const data = await post("/getTaskResult", ( clientKey: API_KEY, taskId )); if (data.errorId !== 0) throw new Error(data.errorCode); if (data.status === "ready") return data.solution.gRecaptchaResponse; if (data.status === "fail") throw new Error("Zadacha zavershilas s oshibkoy (fail)"); await new Promise((r) => setTimeout(r, delay)); delay = Math.min(delay + 2000, 10000); // backoff ) throw new Error("Token ne gotov za otvedennoe vremya"); ) (async () => ( const taskId = await createTask("https://example.com/login", "6Lc_SITE_KEY_HERE"); const token = await getResult(taskId); console.log("g-recaptcha-response:", token.slice(0, 40), "..."); ))(); Osobennosti reCAPTCHA v3 Dlya resheniya reCAPTCHA v3 ispolzuyte tot zhe createTask/getTaskResult, no dobavte v zadachu deystvie i minimalnyy porog. Tochnuyu stroku type dlya v3 utochnite v dokumentatsii OMOCaptcha API kontseptualno zadacha vyglyadit tak: ( "type": "RecaptchaV3TokenTask", "websiteURL": "https://example.com/checkout", "websiteKey": "6Lc_SITE_KEY_HERE", "pageAction": "checkout", "minScore": 0.7 ) Zdes pageAction dolzhen sovpadat so znacheniem action, kotoroe sayt peredaet v grecaptcha.execute(), a minScore zadaet zhelaemuyu otsenku doveriya. Token chitaetsya iz togo zhe solution. Tsena i pochemu OMOCaptcha Stoimost recaptcha api u OMOCaptcha nachinaetsya ot $0.27 za 1000 resheniy dlya reCAPTCHA v2; v3 takzhe podderzhivaetsya. Srednyaya skorost resheniya 0.42 sekundy, tochnost do 99%, a dvizhok obuchen na 14 sistemah kapchi. Podrobnuyu razbivku smotrite na stranitse tarifov (https://omocaptcha.com/ru#pricing) i v obzore stoimosti resheniya kapchi cherez API (https://blog.omocaptcha.com/stoimost-re ... kapchi-api). Chto vazhno - OMOCaptcha Skorost - 0.42 s v srednem, tolko AI (bez ocheredi vorkerov) Tsena - ot $0.27/1000, na 20 40% deshevle zarubezhnyh analogov Nadezhnost - tochnost do 99%, polnyy vozvrat pri uspehe nizhe 95% Bezopasnost - key-binding zadach, e2e-shifrovanie, bez hraneniya kontenta kapchi Po sravneniyu s klassicheskimi servisami AI-podhod ubiraet zaderzhku chelovecheskih ferm detali v materialah o luchshem servise raspoznavaniya kapchi (https://blog.omocaptcha.com/luchshiy-se ... iya-kapchi) i alternative 2Captcha (https://blog.omocaptcha.com/2captcha-alternativa). Otvetstvennoe ispolzovanie Avtomatizatsiya kapchi dopustima dlya legitimnyh zadach: QA i regressionnoe testirovanie vashih sobstvennyh form, proverki dostupnosti, avtorizovannyy sbor dannyh po dogovoru, monitoring i nagruzochnoe testirovanie. Soblyudayte robots.txt, usloviya ispolzovaniya servisov i limity zaprosov. Ne ispolzuyte reshenie kapchi dlya moshennichestva, massovoy registratsii feykovyh akkauntov ili obhoda banov. Pohozhie podhody k drugim sistemam opisany v gaydah po hCaptcha (https://blog.omocaptcha.com/kak-reshit-hcaptcha) i Cloudflare Turnstile (https://blog.omocaptcha.com/reshenie-cl ... -turnstile). FAQ V chem raznitsa mezhdu resheniem reCAPTCHA v2 i v3? v2 trebuet prohozhdeniya vidimogo testa (chekboks ili kartinki) i vozvraschaet token. v3 rabotaet nevidimo i vydaet otsenku riska: pomimo tokena vazhny pageAction i minScore. Potok API odinakovyy otlichayutsya lish polya zadachi. Mozhno li oboyti reCAPTCHA na Python bez brauzera? Da. Esli vy vosproizvodite POST-zapros formy, dostatochno poluchit token cherez API i peredat ego v parametre g-recaptcha-response. Brauzer (Selenium/Playwright) nuzhen, tolko kogda vy avtomatiziruete realnuyu stranitsu i podstavlyaete token v DOM. Pochemu getTaskResult vozvraschaet status processing ? Eto normalno: reshenie zanimaet doli sekundy, no inogda trebuet neskolkih oprosov. Oprashivayte s intervalom v paru sekund i uvelichivayuschimsya backoff, vsegda s timeout, poka ne poluchite ready ili fail. Chto oznachaet oshibka ERROR_TASK_KEY_MISMATCH? Zadacha privyazana k tomu API-klyuchu, kotoryy ee sozdal (key-binding). Esli oprashivat getTaskResult drugim klyuchom, vernetsya eta oshibka. Ispolzuyte odin i tot zhe clientKey dlya createTask i getTaskResult. Skolko stoit reshenie reCAPTCHA? reCAPTCHA v2 ot $0.27 za 1000 resheniy, v3 podderzhivaetsya. Aktualnye tseny po vsem 14 sistemam kapchi na stranitse tarifov (https://omocaptcha.com/ru#pricing). Nachnite besplatno Zaregistriruytes i poluchite 1000 besplatnyh resheniy etogo hvatit, chtoby protestirovat potok tokena na svoih formah uzhe segodnya. Poprobuyte OMOCaptcha (https://omocaptcha.com/ru?utm_source=bl ... um=organic) i napishite nam na support@omocaptcha.com, esli nuzhna pomosch s integratsiey. Podderzhka rabotaet 24/7.
_______________________________________ Omocaptcha - Gi?i CAPTCHA t? d?ng 1-3s, chính xác 99.2% - omocaptcha.com
|
|