Gi?i quy?t reCAPTCHA b?ng Python, Java v¨¤ C++

Anh Tuan
Data Science Expert
11-Oct-2024

Khi t?i b?t ??u l¨¤m vi?c v?i reCAPTCHA, t?i nh?n th?y n¨® l¨¤ m?t con dao hai l??i. M?t m?t, n¨® r?t hi?u qu? trong vi?c l?c b? c¨¢c bot, nh?ng m?t kh¨¢c, n¨® c¨® th? l¨¤ m?t tr? ng?i ??i v?i c¨¢c d? ¨¢n t? ??ng h?p ph¨¢p. V¨¬ v?y, trong b¨¤i vi?t n¨¤y, t?i s? h??ng d?n b?n c¨¢ch gi?i quy?t reCAPTCHA b?ng c¨¢ch s? d?ng ba ng?n ng? l?p tr¨¬nh m?nh m?: Python, Java v¨¤ C++. M?i ng?n ng? mang l?i l?i th? ri¨ºng trong vi?c x? l? c¨¢c th¨¢ch th?c reCAPTCHA, mang ??n s? linh ho?t t¨´y thu?c v¨¤o nhu c?u c?a d? ¨¢n c?a b?n. Ch¨²ng ta s? b?t ??u b?ng c¨¢ch hi?u CAPTCHA v¨¤ reCAPTCHA l¨¤ g¨¬, c?ng nh? t?m quan tr?ng c?a ch¨²ng trong b?o m?t web
CAPTCHA l¨¤ g¨¬?
H?y b?t ??u v?i kh¨¢i ni?m c? b?n nh?t: CAPTCHA l¨¤ g¨¬, hay "Ki?m tra Turing c?ng khai t? ??ng ho¨¤n to¨¤n ?? ph?n bi?t M¨¢y t¨ªnh v¨¤ Con ng??i", l¨¤ m?t ph??ng ph¨¢p ph? bi?n ?? ph?n bi?t ng??i d¨´ng l¨¤ ng??i v?i bot. N¨® gi¨²p c¨¢c trang web tr¨¢nh c¨¢c cu?c t?n c?ng t? ??ng, spam ho?c khai th¨¢c b?ng c¨¢ch y¨ºu c?u ng??i d¨´ng gi?i quy?t c¨¢c nhi?m v? d? d¨¤ng ??i v?i con ng??i nh?ng kh¨® ??i v?i m¨¢y m¨®c. ?i?u n¨¤y c¨® th? l¨¤ nh?n d?ng v?n b?n b? b¨®p m¨¦o, ch?n h¨¬nh ?nh c¨® c¨¢c ??i t??ng c? th? ho?c gi?i quy?t c¨¢c c?u ?? logic.
reCAPTCHA l¨¤ g¨¬?
reCAPTCHA l¨¤ m?t d?ch v? do Google ph¨¢t tri?n gi¨²p b?o v? c¨¢c trang web kh?i spam v¨¤ l?m d?ng b?ng c¨¢ch ph?n bi?t ng??i d¨´ng l¨¤ ng??i v?i bot. N¨® ?? ph¨¢t tri?n theo th?i gian th¨¤nh c¨¢c phi¨ºn b?n kh¨¢c nhau, m?i phi¨ºn b?n cung c?p c¨¢c kh? n?ng c? th?.
-
reCAPTCHA v2: ??y l¨¤ h¨¬nh th?c ph? bi?n nh?t, n?i ng??i d¨´ng gi?i quy?t c¨¢c nhi?m v? nh? nh?p v¨¤o h?p ki?m ("T?i kh?ng ph?i l¨¤ robot") ho?c ch?n h¨¬nh ?nh. N¨® th?n thi?n v?i ng??i d¨´ng h?n nh?ng v?n c¨® th? hi?n th? m?t th? th¨¢ch d?a tr¨ºn c¨¢c y?u t? r?i ro.
-
reCAPTCHA v3: Phi¨ºn b?n n¨¤y ch?y ?n danh trong n?n m¨¤ kh?ng l¨¤m gi¨¢n ?o?n ng??i d¨´ng. N¨® g¨¢n ?i?m r?i ro (0,0 ??n 1,0) d?a tr¨ºn h¨¤nh vi c?a ng??i d¨´ng. Ng??i d¨´ng c¨® nguy c? th?p s? v??t qua m¨¤ kh?ng c?n xem th? th¨¢ch, trong khi ho?t ??ng ?¨¢ng ng? c¨® th? k¨ªch ho?t c¨¢c b??c x¨¢c minh.
-
reCAPTCHA Enterprise: ???c thi?t k? ?? b?o v? ? c?p ?? doanh nghi?p, phi¨ºn b?n n¨¤y cung c?p c¨¢c t¨ªnh n?ng b?o m?t n?ng cao cho c¨¢c doanh nghi?p l?n. N¨® cung c?p ph?n t¨ªch n?ng cao, m? h¨¬nh h?c m¨¢y v¨¤ ?¨¢nh gi¨¢ d?a tr¨ºn r?i ro ???c ?i?u ch?nh cho c¨¢c giao d?ch c¨® nguy c? cao, v?i kh? n?ng t¨´y ch?nh cao h?n ?? ?¨¢p ?ng nhu c?u b?o m?t c?a doanh nghi?p.
M?i phi¨ºn b?n ??u nh?m m?c ?¨ªch cung c?p b?o m?t t?i ?u ??ng th?i gi?m thi?u ma s¨¢t cho ng??i d¨´ng h?p ph¨¢p, th¨ªch ?ng v?i s? tinh vi ng¨¤y c¨¤ng t?ng c?a bot v¨¤ c¨¢c cu?c t?n c?ng.
- reCAPTCHA v2 Demo
Xem demo reCAPTCHA v2- reCAPTCHA v3 Demo
Xem demo reCAPTCHA v3- reCAPTCHA Enterprise Demo
T¨¬m hi?u th¨ºm v? reCAPTCHA Enterprise
Gi?i quy?t reCAPTCHA trong Python, Java v¨¤ C++
M?i ng?n ng? ??u cung c?p ?i?m m?nh ??c ?¨¢o khi x? l? c¨¢c th¨¢ch th?c reCAPTCHA:
-
Python ???c bi?t ??n v?i s? ??n gi?n v¨¤ b? th? vi?n l?n gi¨²p t? ??ng h¨®a web v¨¤ thu th?p d? li?u. S? d?ng c¨¢c th? vi?n nh? Selenium v¨¤ Playwright, b?n c¨® th? d? d¨¤ng t? ??ng h¨®a c¨¢c t¨¢c v? tr¨¬nh duy?t v¨¤ b? qua CAPTCHA v?i c¨¢c c?ng c? ph¨´ h?p.
-
Java r?t ph¨´ h?p cho c¨¢c ?ng d?ng ? c?p ?? doanh nghi?p v¨¤ c¨¢c d? ¨¢n ?a n?n t?ng. Kh? n?ng ?a lu?ng v¨¤ c¨¢c khung nh? Selenium WebDriver cho ph¨¦p x? l? reCAPTCHA m?t c¨¢ch m??t m¨¤ trong c¨¢c h? th?ng c¨® kh? n?ng m? r?ng.
-
C++ mang l?i l?i th? v? hi?u su?t, l¨¤m cho n¨® l? t??ng cho c¨¢c h? th?ng y¨ºu c?u t?c ?? v¨¤ ?? tr? th?p. M?c d¨´ ¨ªt ???c s? d?ng cho t? ??ng h¨®a, nh?ng n¨® c¨® th? ???c t¨ªch h?p v?i c¨¢c c?ng c? kh¨¢c ?? gi?i quy?t c¨¢c th¨¢ch th?c reCAPTCHA trong m?i tr??ng hi?u su?t cao.
Gi?i thi?u CapSolver
Khi b?n ti?n xa h?n, b?n s? nh?n th?y r?ng vi?c gi?i quy?t c¨¢c th¨¢ch th?c reCAPTCHA c¨® th? tr? n¨ºn kh¨® kh?n do c¨¢c thu?t to¨¢n v¨¤ s? ph?c t?p ?ang ph¨¢t tri?n. ?¨® l¨¤ l¨²c CapSolver xu?t hi?n. ?¨® l¨¤ m?t d?ch v? chuy¨ºn bi?t t? ??ng h¨®a quy tr¨¬nh gi?i quy?t reCAPTCHA v?i ?? ch¨ªnh x¨¢c cao, x? l? nhi?u lo?i CAPTCHA, bao g?m reCAPTCHA v2, reCAPTCHA v3 v¨¤ nhi?u h?n n?a. B?ng c¨¢ch t¨ªch h?p CapSolver v¨¤o d? ¨¢n Python, Java ho?c C++ c?a b?n, b?n c¨® th? chuy?n giao s? ph?c t?p c?a vi?c gi?i quy?t CAPTCHA cho m?t d?ch v? chuy¨ºn d?ng, cho ph¨¦p c¨¢c t?p l?nh c?a b?n ch?y tr?n tru v¨¤ hi?u qu?.
Ti?p theo, ch¨²ng ta s? ?i qua m? m?u cho m?i ng?n ng? v¨¤ c¨¢ch b?n c¨® th? nhanh ch¨®ng t¨ªch h?p CapSolver v¨¤o d? ¨¢n c?a m¨¬nh ...
M? th??ng
Nh?n M? th??ng c?a b?n cho c¨¢c gi?i ph¨¢p captcha h¨¤ng ??u; CapSolver: WEBS. Sau khi ??i m?, b?n s? nh?n ???c th¨ºm 5% ti?n th??ng sau m?i l?n n?p ti?n, Kh?ng gi?i h?n
C¨¢ch gi?i quy?t reCAPTCHA b?ng Python
?i?u ki?n ti¨ºn quy?t
B??c 1. Nh?n kh¨®a trang
??i v?i c? V2 v¨¤ V3, b?n c¨® th? t¨¬m ki?m y¨ºu c?u /recaptcha/api2/reload?k=6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf
trong nh?t k? y¨ºu c?u tr¨¬nh duy?t, trong ?¨® k=
l¨¤ gi¨¢ tr? kh¨®a ch¨²ng ta c?n
B??c 2. Ph?n bi?t V2 v¨¤ V3
V2 v¨¤ V3 c¨® ph??ng th?c x? l? kh¨¢c nhau. V2 y¨ºu c?u nh?n d?ng h¨¬nh ?nh ?? ch?n c?u tr? l?i, trong khi V3 t??ng ??i kh?ng g?y phi?n nhi?u; Tuy nhi¨ºn, V3 y¨ºu c?u cung c?p m?t H¨¤nh ??ng trong qu¨¢ tr¨¬nh x¨¢c minh. D?a tr¨ºn gi¨¢ tr? kh¨®a ?? nh?n ???c tr??c ?¨®, h?y t¨¬m ki?m trang ph?n h?i, v¨¤ b?n s? t¨¬m th?y gi¨¢ tr? H¨¤nh ??ng tr¨ºn trang

B??c 3. G?i d?ch v? CapSolver
Ph?n bi?t c¨¢c phi¨ºn b?n reCAPTCHA
- Trong nh?t k? y¨ºu c?u tr¨¬nh duy?t, b?n c¨® th? th?y r?ng ??i v?i V2, sau y¨ºu c?u
/recaptcha/api2/reload
, th??ng c?n m?t y¨ºu c?u/recaptcha/api2/userverify
?? nh?n ???c m? th?ng h¨¤nh; - ??i v?i V3, y¨ºu c?u
/recaptcha/api2/reload
c¨® th? nh?n ???c m? th?ng h¨¤nh tr?c ti?p
V¨ª d? ho¨¤n ch?nh v? cu?c g?i API CapSolver
- Python reCAPTCHA V2
python
# pip install requests
import requests
import time
# TODO: ??t c?u h¨¬nh c?a b?n
api_key = "YOUR_API_KEY" # kh¨®a api c?a b?n c?a capsolver
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # kh¨®a trang c?a trang web m?c ti¨ºu c?a b?n
site_url = "https://www.google.com/recaptcha/api2/demo" # url trang c?a trang web m?c ti¨ºu c?a b?n
# site_key = "6LelzS8UAAAAAGSL60ADV5rcEtK0x0lRsHmrtm62"
# site_url = "https://mybaragar.com/index.cfm?event=page.SchoolLocatorPublic&DistrictCode=BC45"
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("T?o nhi?m v? th?t b?i:", res.text)
return
print(f"Nh?n ???c taskId: {task_id} / Nh?n k?t qu?...")
while True:
time.sleep(3) # tr¨¬ ho?n
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Gi?i quy?t th?t b?i! ph?n h?i:", res.text)
return
token = capsolver()
print(token)
- Python reCAPTCHA V3
python
# pip install requests
import requests
import time
# TODO: ??t c?u h¨¬nh c?a b?n
api_key = "YOUR_API_KEY" # kh¨®a api c?a b?n c?a capsolver
site_key = "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf" # kh¨®a trang c?a trang web m?c ti¨ºu c?a b?n
site_url = "https://antcpt.com/score_detector/" # url trang c?a trang web m?c ti¨ºu c?a b?n
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "homepage",
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("T?o nhi?m v? th?t b?i:", res.text)
return
print(f"Nh?n ???c taskId: {task_id} / Nh?n k?t qu?...")
while True:
time.sleep(1) # tr¨¬ ho?n
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Gi?i quy?t th?t b?i! ph?n h?i:", res.text)
return
# x¨¢c minh ?i?m s?
def score_detector(token):
headers = {
"accept": "application/json, text/javascript, */*; q=0.01",
"accept-language": "fr-CH,fr;q=0.9",
"content-type": "application/json",
"origin": "https://antcpt.com",
"priority": "u=1, i",
"referer": "https://antcpt.com/score_detector/",
"sec-ch-ua": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"x-requested-with": "XMLHttpRequest"
}
url = "https://antcpt.com/score_detector/verify.php"
data = {
"g-recaptcha-response": token
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, data=data)
print(response.json())
print(response)
token = capsolver()
print(token)
...
...
{
'success': True,
'challenge_ts': '2024-07-19T10:50:56Z',
'hostname': 'antcpt.com',
'score': 0.7,
'action': 'homepage'
}
C¨¢ch gi?i quy?t reCAPTCHA b?ng Java
?i?u ki?n ti¨ºn quy?t
Tr??c khi ch¨²ng ta ?i s?u v¨¤o m?, h?y ??m b?o r?ng b?n ?? c¨¤i ??t c¨¢c ?i?u ki?n ti¨ºn quy?t sau ?? theo d?i th¨¤nh c?ng h??ng d?n n¨¤y:
- Node.js v¨¤ npm: Ch¨²ng t?i s? s? d?ng Node.js, m?t th?i gian ch?y JavaScript, c¨´ng v?i npm (Node Package Manager) ?? qu?n l? c¨¢c ph? thu?c c?a d? ¨¢n. N?u b?n ch?a c¨¤i ??t Node.js, b?n c¨® th? t?i xu?ng t? trang web ch¨ªnh th?c c?a Node.js.
- Kh¨®a API CapSolver: ?? gi?i quy?t hi?u qu? c¨¢c th¨¢ch th?c reCAPTCHA, b?n c?n quy?n truy c?p v¨¤o m?t d?ch v? nh? CapSolver, chuy¨ºn v? vi?c gi?i quy?t c¨¢c th¨¢ch th?c CAPTCHA theo c¨¢ch l?p tr¨¬nh. H?y ??m b?o r?ng b?n ??ng k? v¨¤ nh?n ???c kh¨®a API t? CapSolver ?? t¨ªch h?p n¨® v¨¤o gi?i ph¨¢p c?a b?n.
Sau khi b?n ?? ?¨¢p ?ng c¨¢c ?i?u ki?n ti¨ºn quy?t n¨¤y, b?n ?? s?n s¨¤ng thi?t l?p m?i tr??ng c?a m¨¬nh v¨¤ b?t ??u gi?i quy?t c¨¢c th¨¢ch th?c reCAPTCHA b?ng JavaScript v¨¤ CapSolver.
B??c 1: Nh?n kh¨®a trang
- Trong nh?t k? y¨ºu c?u tr¨¬nh duy?t, h?y t¨¬m ki?m y¨ºu c?u
/recaptcha/api2/reload?k=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-
, trong ?¨® gi¨¢ tr? sauk=
l¨¤ Kh¨®a trang ch¨²ng ta c?n. Ho?c b?n c¨® th? t¨¬m th?y t?t c? c¨¢c tham s? ?? gi?i quy?t recapctha th?ng qua ph?n m? r?ng CapSolver - URL l¨¤ ??a ch? c?a trang k¨ªch ho?t reCAPTCHA V2.
B??c 2: C¨¤i ??t th? vi?n y¨ºu c?u
bash
pip install requests
B??c 3: M? v¨ª d?
python
import requests
import time
from DrissionPage import ChromiumPage
# T?o m?t phi¨ºn b?n c?a ChromiumPage
page = ChromiumPage()
# Truy c?p trang v¨ª d? k¨ªch ho?t reCAPTCHA
page.get("https://www.google.com/recaptcha/api2/demo")
# TODO: ??t c?u h¨¬nh c?a b?n
api_key = "kh¨®a api c?a b?n c?a capsolver" # Kh¨®a API CapSolver c?a b?n
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # Kh¨®a trang c?a trang web m?c ti¨ºu c?a b?n
site_url = "https://www.google.com/recaptcha/api2/demo" # URL trang c?a trang web m?c ti¨ºu c?a b?n
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
# G?i y¨ºu c?u ??n CapSolver ?? t?o m?t nhi?m v?
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("T?o nhi?m v? th?t b?i:", res.text)
return
print(f"Nh?n ???c taskId: {task_id} / Nh?n k?t qu?...")
while True:
time.sleep(3) # Tr¨¬ ho?n
payload = {"clientKey": api_key, "taskId": task_id}
# Truy v?n k?t qu? nhi?m v?
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Gi?i quy?t th?t b?i! ph?n h?i:", res.text)
return
def check():
# Nh?n gi?i ph¨¢p reCAPTCHA
token = capsolver()
# ??t gi¨¢ tr? ph?n h?i reCAPTCHA
page.run_js(f'document.getElementById("g-recaptcha-response").value="{token}"')
# G?i h¨¤m g?i l?i th¨¤nh c?ng
page.run_js(f'onSuccess("{token}")')
# G?i bi?u m?u
page.ele('x://input[@id="recaptcha-demo-submit"]').click()
if __name__ == '__main__':
check()
C¨¢ch gi?i quy?t reCAPTCHA b?ng C++
?i?u ki?n ti¨ºn quy?t
Tr??c khi ch¨²ng ta b?t ??u, h?y ??m b?o r?ng b?n ?? c¨¤i ??t c¨¢c th? vi?n sau:
- cpr: M?t th? vi?n HTTP C++.
- jsoncpp: M?t th? vi?n C++ ?? ph?n t¨ªch c¨² ph¨¢p JSON.
B?n c¨® th? c¨¤i ??t ch¨²ng b?ng vcpkg:
bash
vcpkg install cpr jsoncpp
B??c 1: Thi?t l?p d? ¨¢n c?a b?n
T?o m?t d? ¨¢n C++ m?i v¨¤ bao g?m c¨¢c ti¨ºu ?? c?n thi?t cho cpr
v¨¤ jsoncpp
.
cpp
#include <iostream>
#include <cpr/cpr.h>
#include <json/json.h>
B??c 2: ??nh ngh?a c¨¢c h¨¤m ?? t?o v¨¤ nh?n k?t qu? nhi?m v?
Ch¨²ng t?i s? ??nh ngh?a hai h¨¤m ch¨ªnh: createTask
v¨¤ getTaskResult
.
- createTask: H¨¤m n¨¤y t?o m?t nhi?m v? reCAPTCHA.
- getTaskResult: H¨¤m n¨¤y truy xu?t k?t qu? c?a nhi?m v? ?? t?o.
??y l¨¤ m? ho¨¤n ch?nh:
cpp
#include <iostream>
#include <cpr/cpr.h>
#include <json/json.h>
std::string createTask(const std::string& apiKey, const std::string& websiteURL, const std::string& websiteKey) {
Json::Value requestBody;
requestBody["clientKey"] = apiKey;
requestBody["task"]["type"] = "ReCaptchaV2Task";
requestBody["task"]["websiteURL"] = websiteURL;
requestBody["task"]["websiteKey"] = websiteKey;
Json::StreamWriterBuilder writer;
std::string requestBodyStr = Json::writeString(writer, requestBody);
cpr::Response response = cpr::Post(
cpr::Url{"https://api.capsolver.com/createTask"},
cpr::Body{requestBodyStr},
cpr::Header{{"Content-Type", "application/json"}}
);
Json::CharReaderBuilder reader;
Json::Value responseBody;
std::string errs;
std::istringstream s(response.text);
std::string taskId;
if (Json::parseFromStream(reader, s, &responseBody, &errs)) {
if (responseBody["errorId"].asInt() == 0) {
taskId = responseBody["taskId"].asString();
} else {
std::cerr << "L?i: " << responseBody["errorCode"].asString() << std::endl;
}
} else {
std::cerr << "Ph?n t¨ªch c¨² ph¨¢p ph?n h?i th?t b?i: " << errs << std::endl;
}
return taskId;
}
std::string getTaskResult(const std::string& apiKey, const std::string& taskId) {
Json::Value requestBody;
requestBody["clientKey"] = apiKey;
requestBody["taskId"] = taskId;
Json::StreamWriterBuilder writer;
std::string requestBodyStr = Json::writeString(writer, requestBody);
while (true) {
cpr::Response response = cpr::Post(
cpr::Url{"https://api.capsolver.com/getTaskResult"},
cpr::Body{requestBodyStr},
cpr::Header{{"Content-Type", "application/json"}}
);
Json::CharReaderBuilder reader;
Json::Value responseBody;
std::string errs;
std::istringstream s(response.text);
if (Json::parseFromStream(reader, s, &responseBody, &errs)) {
if (responseBody["status"].asString() == "ready") {
return responseBody["solution"]["gRecaptchaResponse"].asString();
} else if (responseBody["status"].asString() == "processing") {
std::cout << "Nhi?m v? v?n ?ang x? l?, ch? 5 gi?y..." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(5));
} else {
std::cerr << "L?i: " << responseBody["errorCode"].asString() << std::endl;
break;
}
} else {
std::cerr << "Ph?n t¨ªch c¨² ph¨¢p ph?n h?i th?t b?i: " << errs << std::endl;
break;
}
}
return "";
}
int main() {
std::string apiKey = "YOUR_API_KEY";
std::string websiteURL = "https://example.com";
std::string websiteKey = "SITE_KEY";
std::string taskId = createTask(apiKey, websiteURL, websiteKey);
if (!taskId.empty()) {
std::cout << "Nhi?m v? ???c t?o th¨¤nh c?ng. ID nhi?m v?: " << taskId << std::endl;
std::string recaptchaResponse = getTaskResult(apiKey, taskId);
std::cout << "Ph?n h?i reCAPTCHA: " << recaptchaResponse << std::endl;
} else {
std::cerr << "T?o nhi?m v? th?t b?i." << std::endl;
}
return 0;
}
Suy ngh? cu?i c¨´ng
Khi k?t th¨²c, t?i c¨® th? t? tin n¨®i r?ng vi?c t¨ªch h?p CapSolver v¨¤o c¨¢c d? ¨¢n c?a t?i ?? gi¨²p x? l? c¨¢c th¨¢ch th?c reCAPTCHA d? d¨¤ng h?n r?t nhi?u. Cho d¨´ ?¨® l¨¤ V2 hay V3, quy tr¨¬nh ??u ??n gi?n v¨¤ ?? gi¨²p t?i ti?t ki?m r?t nhi?u th?i gian. N?u b?n ?ang ph?i ??i m?t v?i nh?ng th¨¢ch th?c t??ng t?, t?i khuy¨ºn b?n n¨ºn th? CapSolver - n¨® ?? thay ??i cu?c ch?i ??i v?i t?i.
Tuy¨ºn b? Tu?n th?: Th?ng tin ???c cung c?p tr¨ºn blog n¨¤y ch? mang t¨ªnh ch?t tham kh?o. CapSolver cam k?t tu?n th? t?t c? c¨¢c lu?t v¨¤ quy ??nh hi?n h¨¤nh. Vi?c s? d?ng m?ng l??i CapSolver cho c¨¢c ho?t ??ng b?t h?p ph¨¢p, gian l?n ho?c l?m d?ng l¨¤ ho¨¤n to¨¤n b? c?m v¨¤ s? b? ?i?u tra. C¨¢c gi?i ph¨¢p gi?i captcha c?a ch¨²ng t?i n?ng cao tr?i nghi?m ng??i d¨´ng trong khi ??m b?o tu?n th? 100% trong vi?c gi¨²p gi?i quy?t c¨¢c kh¨® kh?n v? captcha trong qu¨¢ tr¨¬nh thu th?p d? li?u c?ng khai. Ch¨²ng t?i khuy?n kh¨ªch vi?c s? d?ng d?ch v? c?a ch¨²ng t?i m?t c¨¢ch c¨® tr¨¢ch nhi?m. ?? bi?t th¨ºm th?ng tin, vui l¨°ng truy c?p ?i?u kho?n D?ch v? v¨¤ Ch¨ªnh s¨¢ch Quy?n ri¨ºng t?.
Th¨ºm

Gi?i reCaptcha v3
H?c c¨¢ch gi?i reCaptcha V3 b?ng CapSolver: nhi?u lo?i nhi?m v?, t¨ªch h?p API ??n gi?n v¨¤ c¨¢c gi?i ph¨¢p hi?u qu? cho t? ??ng h¨®a v¨¤ ki?m th?

Anh Tuan
10-Oct-2025

C¨¢ch gi?i quy?t reCaptcha v3 Enterprise
H?c c¨¢ch gi?i quy?t reCAPTCHA v3 Enterprise m?t c¨¢ch d? d¨¤ng b?ng Capsolver: ch¨¬a kh¨®a c?a b?n ?? v??t qua CAPTCHA ph?c t?p v?i ph?n t¨ªch r?i ro n?ng cao v¨¤ t¨ªch h?p li?n m?ch

Anh Tuan
24-Sep-2025

C¨¢ch t¨¬m h¨¤m callback c?a reCaptcha
T¨¬m h¨¤m g?i l?i c?a reCAPTCHA li¨ºn quan ??n vi?c x¨¢c ??nh h¨¤m JavaScript ???c th?c thi sau khi reCAPTCHA ???c gi?i quy?t th¨¤nh c?ng. D??i ??y l¨¤ m?t b?n xem tr??c ng?n g?n v? c¨¢c b??c b?n c¨® th? th?c hi?n

Anh Tuan
23-Sep-2025

C¨¢ch gi?i quy?t reCaptcha v2
Trong b¨¤i vi?t n¨¤y, ch¨²ng t?i s? h??ng d?n b?n reCaptcha l¨¤ g¨¬ v¨¤ c¨¢ch d? d¨¤ng gi?i quy?t reCaptcha v2 b?ng CapSolver.

Anh Tuan
23-Sep-2025

C¨¢ch gi?i quy?t reCaptcha v3 v¨¤ ??t ?i?m gi?ng ng??i (>0.7¨C0.9)
T¨¬m hi?u c¨¢ch gi?i quy?t reCaptcha v3 hi?u qu? v?i Capsolver. H??ng d?n n¨¤y bao g?m m?i th? t? thi?t l?p ??n gi?i quy?t captcha, ??m b?o ?i?m s? cao v¨¤ ?i?u h??ng web m??t m¨¤

Anh Tuan
23-Sep-2025

Gi?i ph¨¢p reCAPTCHA v2 v¨¤ v3 t?t nh?t khi thu th?p d? li?u web v¨¤o n?m 2025 l¨¤ g¨¬
N?m 2025, v?i s? tinh vi h?n c?a c¨¢c h? th?ng ch?ng bot, vi?c t¨¬m ki?m c¨¢c gi?i ph¨¢p reCAPTCHA ?¨¢ng tin c?y ?? tr? n¨ºn r?t quan tr?ng ??i v?i vi?c tr¨ªch xu?t d? li?u th¨¤nh c?ng.

Anh Tuan
17-Jan-2025