많은 경우에 KeyCAPTCHA은 접근성을 방해하고, 사용자를 좌절시키고, 공개 정보에 대한 접근을 제한하고, 애플리케이션 및 사이트 테스트를 어렵게 만 듭니다. 자동 우회를 위해서는 KeyCAPTCHA 솔버를 사용하세요.
KeyCAPTCHA 데모
이 페이지에서는 KeyCAPTCHA이 표시되는 방식과 KeyCAPTCHA 확인이 작동하는 방식을 설명합니다. KeyCaptcha는 간단한 퍼즐을 맞춰야 하는 캡차의 한 종류입니다.
How to solve KeyCaptcha
Find the following KeyCaptcha parameters in page's source code:
s_s_c_user_id s_s_c_session_id s_s_c_web_server_sign s_s_c_web_server_sign2
Send these parameters to to our API.
With SDK (recommended):
PHP
// https://github.com/2captcha/2captcha-php require(__DIR__ . '/../src/autoloader.php'); $solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY'); try { $result = $solver->keycaptcha([ 's_s_c_user_id' => 184015, 's_s_c_session_id' => '9ff29e0176e78eb7ba59314f92dbac1b', 's_s_c_web_server_sign' => '964635241a3e5e76980f2572e5f63452', 's_s_c_web_server_sign2' => '3ca802a38ffc5831fa293ac2819b1204', 'url' => 'https://2captcha.com/demo/keycaptcha', ]); } catch (\Exception $e) { die($e->getMessage()); } die('Captcha solved: ' . $result->code);
Python
# https://github.com/2captcha/2captcha-python import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from twocaptcha import TwoCaptcha api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY') solver = TwoCaptcha(api_key) try: result = solver.keycaptcha( s_s_c_user_id=184015, s_s_c_session_id='9ff29e0176e78eb7ba59314f92dbac1b', s_s_c_web_server_sign='964635241a3e5e76980f2572e5f63452', s_s_c_web_server_sign2='3ca802a38ffc5831fa293ac2819b1204', url='https://2captcha.com/demo/keycaptcha') except Exception as e: sys.exit(e) else: sys.exit('solved: ' + str(result))
Java
// https://github.com/2captcha/2captcha-java package examples; import com.twocaptcha.TwoCaptcha; import com.twocaptcha.captcha.KeyCaptcha; public class KeyCaptchaExample { public static void main(String[] args) { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); KeyCaptcha captcha = new KeyCaptcha(); captcha.setUserId(184015); captcha.setSessionId("9ff29e0176e78eb7ba59314f92dbac1b"); captcha.setWebServerSign("964635241a3e5e76980f2572e5f63452"); captcha.setWebServerSign2("3ca802a38ffc5831fa293ac2819b1204"); captcha.setUrl("https://2captcha.com/demo/keycaptcha"); try { solver.solve(captcha); System.out.println("Captcha solved: " + captcha.getCode()); } catch (Exception e) { System.out.println("Error occurred: " + e.getMessage()); } } }
C#
// https://github.com/2captcha/2captcha-csharp using System; using System.Linq; using TwoCaptcha.Captcha; namespace TwoCaptcha.Examples { public class KeyCaptchaExample { public void Main() { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); KeyCaptcha captcha = new KeyCaptcha(); captcha.SetUserId(184015); captcha.SetSessionId("9ff29e0176e78eb7ba59314f92dbac1b"); captcha.SetWebServerSign("964635241a3e5e76980f2572e5f63452"); captcha.SetWebServerSign2("3ca802a38ffc5831fa293ac2819b1204"); captcha.SetUrl("https://2captcha.com/demo/keycaptcha"); try { solver.Solve(captcha).Wait(); Console.WriteLine("Captcha solved: " + captcha.Code); } catch (AggregateException e) { Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message); } } } }
Go
// https://github.com/2captcha/2captcha-go package main import ( "fmt" "log" "github.com/2captcha/2captcha-go" ) func main() { client := api2captcha.NewClient("API_KEY") captcha := api2captcha.KeyCaptcha{ UserId: 184015, SessionId: "9ff29e0176e78eb7ba59314f92dbac1b", WebServerSign: "964635241a3e5e76980f2572e5f63452", WebServerSign2: "3ca802a38ffc5831fa293ac2819b1204", Url: "https://2captcha.com/demo/keycaptcha", } code, err := client.Solve(captcha.ToRequest()) if err != nil { log.Fatal(err); } fmt.Println("code "+code) }
C++
// https://github.com/2captcha/2captcha-cpp #include <cstdio> #include "curl_http.hpp" #include "api2captcha.hpp" int main (int ac, char ** av) { api2captcha::curl_http_t http; http.set_verbose (true); api2captcha::client_t client; client.set_http_client (&http); client.set_api_key (API_KEY); api2captcha::keycaptcha_t cap; cap.set_user_id (184015); cap.set_session_id ("9ff29e0176e78eb7ba59314f92dbac1b"); cap.set_web_server_sign ("964635241a3e5e76980f2572e5f63452"); cap.set_web_server_sign2 ("3ca802a38ffc5831fa293ac2819b1204"); cap.set_url ("https://2captcha.com/demo/keycaptcha"); try { client.solve (cap); printf ("code '%s'\n", cap.code ().c_str ()); } catch (std::exception & e) { fprintf (stderr, "Failed: %s\n", e.what ()); } return 0; }
Ruby
# https://github.com/2captcha/2captcha-ruby require 'api_2captcha' client = Api2Captcha.new("YOUR_API_KEY") result = client.keycaptcha({ s_s_c_user_id: 10, s_s_c_session_id: '493e52c37c10c2bcdf4a00cbc9ccd1e8', s_s_c_web_server_sign: '9006dc725760858e4c0715b835472f22-pz-', s_s_c_web_server_sign2: '2ca3abe86d90c6142d5571db98af6714', pageurl: 'https://www.keycaptcha.ru/demo-magnetic/' })
Wait for the result, which may look like this:
ebdb5a6bf76da6887db60ef2041ab946|964635241a3e5e76980f2572e5f63452|http://back10.keycaptcha.com/swfs/ckc/5bded85426de3c57a7529a84bd0d4d08-|9ff29e0176e78eb7ba59314f92dbac1b|1
Manually:
Send a HTTP GET or POST request to our API URL:
https://2captcha.com/in.php
withmethod
set tokeycaptcha
and provide values found on previous step in your request as values for corresponding request parameters and also full page URL as value for pageurl.
Request URL example:
https://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&s_s_c_user_id=10&s_s_c_session_id=9ff29e0176e78eb7ba59314f92dbac1b&s_s_c_web_server_sign=964635241a3e5e76980f2572e5f63452&s_s_c_web_server_sign2=3ca802a38ffc5831fa293ac2819b1204&method=keycaptcha&pageurl=http://2captcha.com/demo/keycaptcha
If everything is fine server will return the ID of your captcha:
OK|2122988149
Otherwise server will return an error code.After 15-20 seconds send GET request to get the result:
GET https://2captcha.com/res.php?key=YOUR_API_KEY&action=get&id=2122988149
If captcha is already solved server will respond with the answer token:OK|ebdb5a6bf76da6887db60ef2041ab946|964635241a3e5e76980f2572e5f63452|http://back10.keycaptcha.com/swfs/ckc/5bded85426de3c57a7529a84bd0d4d08-|9ff29e0176e78eb7ba59314f92dbac1b|1
If captcha is not solved yet server will returnCAPCHA_NOT_READY
result. Repeat your request in 5 seconds. If something went wrong server will return an error code.
Locate and delete the following block which inclides keycaptcha JavaScript file:
<script language="JavaScript" src="http://backs.keycaptcha.com/swfs/cap.js"></script>
Locate and delete the
div
withid="div_for_keycaptcha"
:<div id="div_for_keycaptcha"...>...</div>
Locate the element with
id="capcode"
and change it's value to the response received from our server:<input name="capcode" id="capcode" value="1|2|3|4|5" type="hidden">
Click on "Check" button to submit the form.