En muchos casos reCAPTCHA V2 Callback dificulta la accesibilidad, frustra a los usuarios, limita el acceso a información abierta, dificulta la comprobación de aplicaciones y sitios. Utiliza el solucionador de reCAPTCHA V2 Callback para evitarlo automáticamente.
reCAPTCHA V2 Callback demostración
Esta página explica cómo se muestra reCAPTCHA V2 Callback y cómo funciona la verificación reCAPTCHA V2 Callback. A veces no hay un botón de envío y se usa una función de devolución de llamada. La función se ejecuta cuando se resuelve reCAPTCHA.
How to solve reCAPTCHA V2 Callback
Open developer's console in your browser and find element with
data-sitekey
attribute.<div class="g-recaptcha" data-sitekey="6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u" id="recaptcha"></div>
Send
sitekey
andpageurl
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->recaptcha([ 'sitekey' => '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u', 'url' => 'https://2captcha.com/demo/recaptcha-v2-callback', ]); } 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.recaptcha( sitekey='6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u', url='https://2captcha.com/demo/recaptcha-v2-callback') 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.reCAPTCHA; public class reCAPTCHAV2Example { public static void main(String[] args) { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); ReCaptcha captcha = new ReCaptcha(); captcha.setSiteKey("6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u"); captcha.setUrl("https://2captcha.com/demo/recaptcha-v2-callback"); 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 reCAPTCHAV2Example { public void Main() { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); ReCaptcha captcha = new ReCaptcha(); captcha.SetSiteKey("6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u"); captcha.SetUrl("https://2captcha.com/demo/recaptcha-v2-callback"); 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.ReCaptcha{ SiteKey: "6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u", Url: "https://2captcha.com/demo/recaptcha-v2-callback", } 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::recaptcha_t cap; cap.set_site_key ("6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u"); cap.set_url ("https://2captcha.com/demo/recaptcha-v2-callback"); 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.recaptcha_v2({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', pageurl: 'https://mysite.com/page/with/recaptcha_v2' })
Wait for the result, which may look like this:
03AGdBq27lvCYmKkaqDdxWLfMe3ovADGfGlSyiR-fN_EJrZGniTAmdH1XSjK8ralsctfjOLX2K0T7dJfxPqqga8dtSG2Lmns8Gk2ckcU6PQzUFieBqrtpkr5PPwnngew0Rnot2ik1y8m202u6pHTIquExlEYSlzS8vfoyPPt8fCf-Zrbu8vWkiY8Ogj17ommHMgkguZbmEyOdfLTXzhRko-a655_jJdCMjEtMxva-b78DnGlXu9d0o6vEmrw9n8ABu4lLsWnIbYPH0beXRRIkUE3si64Xhwkh1aO3L1HaIR3sfR0vOs3GV1OBzry_tFsZM0ZhSQovKJwjLlotrYajyTSRv3hgvXtLlLxXzbAwgeI91-wM7AFEte0uO_DhcNajxZr7E50wU9vuAe_drGWe4q-hNx4PQPenjaw
Manually:
Send GET or POST request to our API URL:
https://2captcha.com/in.php
withmethod
set touserrecaptcha
and provide the value found on previous step as value for googlekey and full page URL as value forpageurl
.
Request example:
GET https://2captcha.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u&pageurl=http://2captcha.com/demo/recaptcha-v2-callback
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|03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB-50GQHPEBJUHNnhJyDzwRoRAkVzrf7UkV8wKCdTwrrWqiYDgbrzURfHc2ESsp020MicJTasSiXmNRgryt-gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3-egcplD1uLGh79wC34RF49Ui3eHwua4S9XHpH6YBe7gXzz6_mv-o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q
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.
In developer's console, execute the callback function
verifyDemoRecaptcha
passing the token string as an argument like:verifyDemoRecaptcha('TOKEN')
Please note that each website has own reCAPTCHA implementation with unique callback definition and the callback function name will be different from our demo, or even an anonymous function can be used. This code snippet can help you to find the callback definition.