VK Captcha 解决方案的工作原理
VKontakte's token-based "not a robot" challenge, returned as a captcha error on VK API requests. We solve the challenge behind the redirect URI VK gives you and return a success token ready to resubmit.
即使 VK Captcha 更新其防护机制,这个可预测的三步流程也始终保持不变。
When a VK API request fails with a captcha error, send us the redirect_uri from that error response. We solve the challenge and return a success_token you attach to a retry of the original request.
提交目标
在一次 API 请求中发送页面 URL 和挑战特定字段。
我们处理挑战
CaptchaSolv 将任务路由到专门的解决方案,并跟踪直至完成。
使用解决方案
获取下一次请求所需的令牌、请求头、cookies 或 sensor payload。
VK Captcha API 请求与响应
所有支持的解决方案使用相同的接口和响应格式。
{
"api_key": "YOUR_API_KEY",
"type": "VkCaptcha",
"site_url": "https://vk.com/",
"data": {
"redirect_uri": "https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ...&variant=popup&blank=1"}
}{
"errorId": 0,
"status": "ready",
"solvtime": 6.24,
"data": {
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
"language": "en-US,en;q=0.9",
"solution": {
"token": "eyJhbGciOiJIUzI1NiJ9...kyAWZSNoJPw"}
}
}任务数据字段
此验证码类型的求解请求中,可在 data 对象内发送的字段。
redirect_uri必填The full captcha URL returned in the error response of the VK API request that triggered the captcha, e.g. .../not_robot_captcha?domain=vk.com&session_token=....
解决方案字段
任务解决后在 data.solution 中返回的字段。
solution.token必填The success_token to attach to a retry of the original VK API request.
data.useragent必填The user-agent used while solving - reuse it on the retried request.
What is VK Captcha?
VK Captcha is the "I'm not a robot" check VKontakte uses to slow down automated traffic on vk.com, VK ID and the VK API. When a call or login looks suspicious, VK answers with a captcha error (error code 14, "Captcha needed") instead of the result and expects the client to pass the check before retrying.
Current VK flows put a redirect_uri into that error, pointing to id.vk.com/not_robot_captcha with a session_token. Opening it runs VK's challenge in the browser, and passing it yields a success_token that is attached to the retried request. The session token is short-lived, so the challenge has to be solved right away.
Our VK Captcha solver takes that redirect_uri, completes the challenge and returns the success_token, so your bot or integration can retry the original VK API request without a human in the loop.
- 01
Captcha error
A VK API call fails with error 14 and returns a redirect_uri.
- 02
not_robot_captcha
The redirect_uri opens VK's challenge page for a short-lived session_token.
- 03
Challenge passed
Passing the check produces a success_token for that session.
- 04
Retry
The original request is repeated with success_token attached.
VK Captcha fields
redirect_uriKeyCaptcha URL from the error response - send it to the solver as-is.
session_tokenKeyShort-lived session ID inside redirect_uri; it expires quickly.
success_tokenKeyToken returned after solving - attach it to the retried request.
error_code 14VK API error that signals "Captcha needed".
user-agentReuse the user-agent returned with the token on the retry.
How to bypass VK Captcha with the API
A VK captcha error doesn't have to stop your integration - the error response already contains everything the solver needs.
- 01
Catch the captcha error
When a VK API call fails with error 14, read redirect_uri from the error object.
- 02
Create a VkCaptcha task
POST the redirect_uri to /solve straight away - its session_token expires quickly - and poll until it's ready.
- 03
Retry with success_token
Repeat the original request with success_token set to the value of solution.token.
- 04
Keep the user-agent
Send the retry with the user-agent from data.useragent so it matches the solved session.
VK Captcha 解决方案常见问题
关于正确集成此解决方案的常见问题。
Yes - it works for the captcha challenge returned on any VK API method that requires it, not just a fixed list of endpoints. Send the redirect_uri from the specific error response you received and we solve that session's challenge.
It's included in the error response of the VK API request that failed with a captcha error - look for the URL pointing to id.vk.com/not_robot_captcha (or the equivalent captcha domain) with a session_token query parameter.
Retry your original VK API request with success_token set to the value of solution.token, using the same user-agent returned in data.useragent.
The session_token embedded in the redirect_uri is short-lived. Send it to us as soon as you receive the captcha error rather than caching it, since an expired session token can't be solved.
在绕过 VK Captcha 时遇到困难?
加入我们的 Discord,我们的团队会帮助您在您的环境中成功解决 VK Captcha - 提供免费建议,即使挑战随时间变化也能持续应对。
