From a15b8166882d6ae81ed40fd287039a5675267f88 Mon Sep 17 00:00:00 2001 From: Alex Geer Date: Thu, 13 Nov 2025 20:34:44 +0300 Subject: [PATCH] Cloudflare Challenge page. --- README.md | 18 +++++++++++ .../captcha/CloudflareChallenge.java | 32 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/main/java/com/twocaptcha/captcha/CloudflareChallenge.java diff --git a/README.md b/README.md index 7fa2058..584f931 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Examples of API requests for different captcha types are available on the [Java - [Yandex](#yandex) - [Lemin Cropped Captcha](#lemin-cropped-captcha) - [Cloudflare Turnstile](#cloudflare-turnstile) + - [Cloudflare Challenge](#cloudflare-challenge) - [Amazon WAF](#amazon-waf) - [Friendly Captcha](#friendly-captcha) - [MTCaptcha](#mtcaptcha) @@ -386,6 +387,23 @@ captcha.setSiteKey("0x4AAAAAAAChNiVJM_WtShFf"); captcha.setUrl("https://ace.fusionist.io"); ``` +### Cloudflare Challenge + +[API method description.](https://2captcha.com/2captcha-api#challenge) + +Use this method to solve Cloudflare Challenge and obtain a token to bypass the protection. + +```java +TwoCaptcha solver = new TwoCaptcha(args[0]); +CloudflareChallenge captcha = new CloudflareChallenge(); +captcha.setSiteKey("0x4AAAAAAAChNiVJM_WtShFf"); +captcha.setUrl("https://ace.fusionist.io"); +captcha.setAction("managed"); +captcha.setData("99df96c88d9ed949"); +captcha.setPagedata("gjEUFRK3K_qx8aLOGg-1763050748-1.3.1.1-Cq..."); +captcha.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 29_82_9) Safari/971.69"); +``` + ### Amazon WAF [API method description.](https://2captcha.com/2captcha-api#amazon-waf) diff --git a/src/main/java/com/twocaptcha/captcha/CloudflareChallenge.java b/src/main/java/com/twocaptcha/captcha/CloudflareChallenge.java new file mode 100644 index 0000000..f7f0141 --- /dev/null +++ b/src/main/java/com/twocaptcha/captcha/CloudflareChallenge.java @@ -0,0 +1,32 @@ +package com.twocaptcha.captcha; + +public class CloudflareChallenge extends Captcha { + public CloudflareChallenge() { + super(); + params.put("method", "challenge"); + } + + public void setSiteKey(String siteKey) { + params.put("sitekey", siteKey); + } + + public void setUrl(String url) { + params.put("pageurl", url); + } + + public void setAction(String action) { + params.put("action", action); + } + + public void setData(String data) { + params.put("data", data); + } + + public void setPagedata(String pagedata) { + params.put("pagedata", pagedata); + } + + public void setUserAgent(String userAgent) { + params.put("userAgent", userAgent); + } +}