reCAPTCHA v2 캡차란 무엇인가요?
reCAPTCHA v2는 구글이 만든 캡차로, '로봇이 아닙니다' 체크 상자를 누르게 하고 필요하면 그림 고르기 문제를 더 보여 줘요. 사이트는 이 과정을 통과한 토큰(g-recaptcha-response)으로 사람인지 확인해요.
받은 gRecaptchaResponse 토큰을 페이지의 g-recaptcha-response 칸에 넣거나, 사이트가 쓰는 콜백 함수에 넘긴 뒤 양식을 보내요.
reCAPTCHA v2
< 9s · $0.56 / 1k
reCAPTCHA v2 풀이에 GateSolver를 쓰는 이유
안정적인 풀이
reCAPTCHA v2 풀이 모델을 계속 고쳐서 바뀌는 문제에도 안정적으로 풀어요.
성공한 작업만 결제
답이 나온 작업만 결제돼요. 실패하거나 시간이 지난 작업은 돈이 빠지지 않아요.
AI 자동 풀이
사람이 기다리지 않고 AI가 바로 풀어요. 보통 9초 안에 답이 나와요.
어디서나 연결
REST API라 어떤 언어, 어떤 자동화 도구에서도 같은 방식으로 써요.
in.php 호환
in.php, res.php 방식으로 쓰던 프로그램은 주소만 바꾸면 돼요.
대량 처리
키 하나로 1분에 600번까지 요청하고 동시 작업 수는 제한하지 않아요.
가격과 속도
reCAPTCHA v2 푸는 방법: API 안내
요청은 두 번이에요. createTask 로 작업을 만들고, getTaskResult 로 답을 받아요.
1단계: 작업 만들기
POST https://gatesolver.com/createTask
| 칸 | 필수 | 설명 |
|---|---|---|
| type | 예 | ReCaptchaV2TaskProxyLess (프록시 없이) 또는 ReCaptchaV2Task (내 프록시로) |
| websiteURL | 예 | 캡차가 있는 페이지 주소 |
| websiteKey | 예 | 페이지의 사이트 키(data-sitekey 값) |
| isInvisible | 아니요 | 체크 상자 없이 숨어 있는 캡차면 true |
| pageAction | 아니요 | 사이트가 action 값을 쓰면 그 값 |
| proxy | 아니요 | ReCaptchaV2Task 일 때 프록시 (http://user:pass@host:port) |
요청
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}응답
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}2단계: 결과 받기
POST https://gatesolver.com/getTaskResult
taskId 로 3초마다 결과를 물어봐요. status 가 processing 이면 기다리고, ready 가 되면 solution 을 써요.
요청
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}응답
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA6...",
"userAgent": "Mozilla/5.0 ..."
}
}받은 gRecaptchaResponse 토큰을 페이지의 g-recaptcha-response 칸에 넣거나, 사이트가 쓰는 콜백 함수에 넘긴 뒤 양식을 보내요.
코드 예제
import requests, time
API = "https://gatesolver.com"
KEY = "YOUR_API_KEY"
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
r = requests.post(f"{API}/createTask", json={"clientKey": KEY, "task": task}).json()
task_id = r["taskId"]
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task_id}).json()
if res.get("status") == "ready":
print(res["solution"])
break
if res.get("errorId"):
raise RuntimeError(res["errorCode"])const API = "https://gatesolver.com", KEY = "YOUR_API_KEY";
const post = (p, b) => fetch(API + p, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(b) }).then((r) => r.json());
const { taskId } = await post("/createTask", { clientKey: KEY, task: {"type":"ReCaptchaV2TaskProxyLess","websiteURL":"https://www.google.com/recaptcha/api2/demo","websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"} });
let res;
do {
await new Promise((s) => setTimeout(s, 3000));
res = await post("/getTaskResult", { clientKey: KEY, taskId });
} while (res.status === "processing");
console.log(res.solution);curl -X POST https://gatesolver.com/createTask \
-H "Content-Type: application/json" \
-d '{"clientKey":"YOUR_API_KEY","task":{"type":"ReCaptchaV2TaskProxyLess","websiteURL":"https://www.google.com/recaptcha/api2/demo","websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"}}'reCAPTCHA v2 자주 묻는 질문
reCAPTCHA v2 1,000건은 얼마인가요?
reCAPTCHA v2 가격: 1,000건 $0.56. 작업 1건씩 잔액에서 빠지고, 답이 나온 작업만 결제돼요.
reCAPTCHA v2 답은 얼마나 빨리 나오나요?
보통 9초 안에 나와요. getTaskResult 를 몇 초마다 불러서 status 가 ready 가 되면 답을 써요.
reCAPTCHA v2 작업 type 은 무엇을 쓰나요?
기본 type: ReCaptchaV2TaskProxyLess. 다른 이름(프록시를 쓰는 버전 등)도 같은 가격으로 받아요.
실패하면 돈이 빠지나요?
아니요. 풀지 못한 작업, 시간이 지난 작업은 결제되지 않아요.