From 5485b2ac10381197c26161ee97c321f983b96f88 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Tue, 14 Oct 2025 07:45:17 +0300 Subject: [PATCH 01/15] vk class --- .../java/com/twocaptcha/captcha/VkCaptcha.java | 9 +++++++++ src/main/resources/vk.jpg | Bin 0 -> 34495 bytes 2 files changed, 9 insertions(+) create mode 100644 src/main/java/com/twocaptcha/captcha/VkCaptcha.java create mode 100644 src/main/resources/vk.jpg diff --git a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java new file mode 100644 index 0000000..7545c76 --- /dev/null +++ b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java @@ -0,0 +1,9 @@ +package com.twocaptcha.captcha; + +public class VkCaptcha extends Captcha { + + public VkCaptcha() { + super(); + params.put("method", "VKCaptchaImageTask"); + } +} diff --git a/src/main/resources/vk.jpg b/src/main/resources/vk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d61c447bbd4af072f57a456f8fc25ecba438b76 GIT binary patch literal 34495 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≧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%0DqqIP#wY?Ws>HN#6t>*3JQ<(!hVGenKLI8gDCR{ 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 literal 0 HcmV?d00001 From 94c5a024dcde79a58ed40fb7bfeb4b7bb1245dc7 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Tue, 14 Oct 2025 11:37:49 +0300 Subject: [PATCH 02/15] VkCaptcha --- .../com/twocaptcha/captcha/VkCaptcha.java | 10 +++++++++- src/main/resources/vk.jpg | Bin 34495 -> 32255 bytes 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java index 7545c76..8b4ecea 100644 --- a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java +++ b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java @@ -4,6 +4,14 @@ public class VkCaptcha extends Captcha { public VkCaptcha() { super(); - params.put("method", "VKCaptchaImageTask"); + params.put("method", "vkimage"); + } + + public void setSteps(String steps) { + params.put("steps", steps); + } + + public void setImageBase64(String imageBase64) { + params.put("body", imageBase64); } } diff --git a/src/main/resources/vk.jpg b/src/main/resources/vk.jpg index 0d61c447bbd4af072f57a456f8fc25ecba438b76..91809ec9bf5e57554a24455857adcabab70e9ecf 100644 GIT binary patch literal 32255 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 B???au literal 34495 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≧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%0DqqIP#wY?Ws>HN#6t>*3JQ<(!hVGenKLI8gDCR{ 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 From 5bb151d7672b06bb828bf11cb1a26bba8398d880 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Tue, 14 Oct 2025 12:04:04 +0300 Subject: [PATCH 03/15] VkCaptcha tokenBased --- .../java/com/twocaptcha/captcha/VkCaptcha.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java index 8b4ecea..655baf1 100644 --- a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java +++ b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java @@ -2,9 +2,9 @@ public class VkCaptcha extends Captcha { - public VkCaptcha() { + public VkCaptcha(String method) { super(); - params.put("method", "vkimage"); + params.put("method", method); } public void setSteps(String steps) { @@ -14,4 +14,14 @@ public void setSteps(String steps) { public void setImageBase64(String imageBase64) { params.put("body", imageBase64); } + + public void setRedirectUri(String redirect_uri) { + params.put("redirect_uri", redirect_uri); + } + + public void setuserAgent(String userAgent) { + params.put("userAgent", userAgent); + } + + } From f1d681fd7b732e3e99156e01a58fb4dba5bcf8c2 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Wed, 15 Oct 2025 06:54:55 +0300 Subject: [PATCH 04/15] VkCaptcha example --- src/main/java/examples/VkExample.java | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/main/java/examples/VkExample.java diff --git a/src/main/java/examples/VkExample.java b/src/main/java/examples/VkExample.java new file mode 100644 index 0000000..e9d44dc --- /dev/null +++ b/src/main/java/examples/VkExample.java @@ -0,0 +1,55 @@ +package examples; + +import com.twocaptcha.TwoCaptcha; +import com.twocaptcha.captcha.Canvas; +import com.twocaptcha.captcha.Rotate; +import com.twocaptcha.captcha.VkCaptcha; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Base64; + +public class VkExample { + + private void imageBased(String apiKey) throws IOException { + TwoCaptcha solver = new TwoCaptcha(apiKey); + + byte[] bytes = Files.readAllBytes(Paths.get("src/main/resources/vk.jpg")); + String base64EncodedImage = Base64.getEncoder().encodeToString(bytes); + + + VkCaptcha captcha = new VkCaptcha("vkimage"); + captcha.setImageBase64(base64EncodedImage); + captcha.setSteps("[5,12,22,24,21,23,10,7,2,8,19,18,8,24,21,22,11,14,16,5,18,20,4,21,12,6,0,0,11,12,8,20,19,3,14,8,9,13,16,24,18,3,2,23,8,12,6,1,11,0,20,15,19,22,17,24,8,0,12,5,19,14,11,6,7,14,23,24,23,20,4,20,6,12,4,17,4,18,6,20,17,5,23,7,10,2,8,9,5,4,17,24,11,14,4,10,12,22,21,2]"); + + try { + solver.solve(captcha); + System.out.println("Captcha solved: " + captcha.getCode()); + } catch (Exception e) { + System.out.println("Error occurred: " + e.getMessage()); + } + } + + private void tokenBased(String apiKey) throws IOException { + TwoCaptcha solver = new TwoCaptcha(apiKey); + VkCaptcha captcha = new VkCaptcha("vkcaptcha"); + captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); + captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); + captcha.setProxy("http", "1.2.3.4"); + + try { + solver.solve(captcha); + System.out.println("Captcha solved: " + captcha.getCode()); + } catch (Exception e) { + System.out.println("Error occurred: " + e.getMessage()); + } + } + + public static void main(String[] args) throws Exception { + VkExample vkExample = new VkExample(); + vkExample.imageBased(args[0]); + vkExample.tokenBased(args[0]); + } + +} From b32a85e805017e289661ced4e049f19b96a9e688 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Wed, 15 Oct 2025 06:56:54 +0300 Subject: [PATCH 05/15] VkCaptcha example --- src/main/java/examples/VkExample.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/examples/VkExample.java b/src/main/java/examples/VkExample.java index e9d44dc..e916e19 100644 --- a/src/main/java/examples/VkExample.java +++ b/src/main/java/examples/VkExample.java @@ -14,6 +14,7 @@ public class VkExample { private void imageBased(String apiKey) throws IOException { TwoCaptcha solver = new TwoCaptcha(apiKey); + solver.setExtendedResponse(1); byte[] bytes = Files.readAllBytes(Paths.get("src/main/resources/vk.jpg")); String base64EncodedImage = Base64.getEncoder().encodeToString(bytes); @@ -49,7 +50,7 @@ private void tokenBased(String apiKey) throws IOException { public static void main(String[] args) throws Exception { VkExample vkExample = new VkExample(); vkExample.imageBased(args[0]); - vkExample.tokenBased(args[0]); + //vkExample.tokenBased(args[0]); } } From 7c24c715117e025ca67a72f59930236933a30c1e Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Wed, 15 Oct 2025 07:04:58 +0300 Subject: [PATCH 06/15] vkcaptcha test --- .../java/com/twocaptcha/captcha/Captcha.java | 7 +++++ .../java/com/twocaptcha/VkCaptchaTest.java | 26 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/test/java/com/twocaptcha/VkCaptchaTest.java diff --git a/src/main/java/com/twocaptcha/captcha/Captcha.java b/src/main/java/com/twocaptcha/captcha/Captcha.java index 523d481..5313441 100644 --- a/src/main/java/com/twocaptcha/captcha/Captcha.java +++ b/src/main/java/com/twocaptcha/captcha/Captcha.java @@ -64,4 +64,11 @@ public Map getFiles() { return new HashMap<>(files); } + public void setSiteKey(String siteKey) { + params.put("sitekey", siteKey); + } + + public void setUrl(String url) { + params.put("pageurl", url); + } } diff --git a/src/test/java/com/twocaptcha/VkCaptchaTest.java b/src/test/java/com/twocaptcha/VkCaptchaTest.java new file mode 100644 index 0000000..f0f6566 --- /dev/null +++ b/src/test/java/com/twocaptcha/VkCaptchaTest.java @@ -0,0 +1,26 @@ +package com.twocaptcha; + +import com.twocaptcha.captcha.VkCaptcha; +import com.twocaptcha.captcha.Yandex; + +import java.util.HashMap; +import java.util.Map; + +public class VkCaptchaTest extends AbstractWrapperTestCase { + + public void testAllOptions() throws Exception { + VkCaptcha captcha = new VkCaptcha("vkimage"); + captcha.setSiteKey("0x4AAAAAAAChNiVJM_WtShFf"); + captcha.setUrl("https://ace.fusionist.io"); + + Map params = new HashMap<>(); + params.put("method", "vkimage"); + params.put("sitekey", "0x4AAAAAAAChNiVJM_WtShFf"); + params.put("pageurl", "https://ace.fusionist.io"); + params.put("soft_id", "4581"); + params.put("json", "0"); + + checkIfCorrectParamsSendAndResultReturned(captcha, params); + } + +} \ No newline at end of file From 308f45d17252b9d15f542fdbe7d914f992c062e2 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Wed, 15 Oct 2025 07:25:44 +0300 Subject: [PATCH 07/15] readme updated --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 7fa2058..07a9e7b 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Examples of API requests for different captcha types are available on the [Java - [atbCAPTCHA](#atbcaptcha) - [CyberSiARA](#cybersiara) - [DataDome](#datadome) + - [VK Captcha](#vk-captcha) - [Other methods](#other-methods) - [send / getResult](#send--getresult) - [balance](#balance) @@ -496,6 +497,21 @@ captcha.setUserAgent("Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHT captcha.setProxy("HTTPS", "login:password@IP_address:PORT"); ``` +### VK Captcha + +[API method description.](https://2captcha.com/2captcha-api#vkcaptcha) + +We offer two methods to solve this type of captcha - token-based and image-based. + +We use the body (image in base64 format) or file (image as file) and steps parameters. +You can get both values from the response to the request https://api.vk.com/method/captchaNotRobot.getContent?v={API_VER} when loading the captcha widget on the page. + +```java +VkCaptcha captcha = new VkCaptcha("vkimage"); +captcha.setImageBase64(base64EncodedImage); +captcha.setSteps("[5,12,22,24,21,23,10,7,2,8,...]"); +``` + ## Other methods ### send / getResult From a8aea0f5ed458c96a1b73cd9ca406ac1d6135ea3 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Thu, 16 Oct 2025 16:02:20 +0300 Subject: [PATCH 08/15] readme updated --- README.md | 14 ++++++++++++++ src/main/java/examples/VkExample.java | 1 - 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 07a9e7b..5f65d0f 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ Examples of API requests for different captcha types are available on the [Java - [CyberSiARA](#cybersiara) - [DataDome](#datadome) - [VK Captcha](#vk-captcha) + - [VK Image](#vk-image) - [Other methods](#other-methods) - [send / getResult](#send--getresult) - [balance](#balance) @@ -511,6 +512,19 @@ VkCaptcha captcha = new VkCaptcha("vkimage"); captcha.setImageBase64(base64EncodedImage); captcha.setSteps("[5,12,22,24,21,23,10,7,2,8,...]"); ``` +### VK Image + +[API method description.](https://2captcha.com/2captcha-api#vk-captcha) + +We use the body (image in base64 format) or file (image as file) and steps parameters. +You can get both values from the response to the request https://api.vk.com/method/captchaNotRobot.getContent?v={API_VER} when loading the captcha widget on the page. + +```java +VkCaptcha captcha = new VkCaptcha("vkcaptcha"); +captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); +captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); +captcha.setProxy("http", "1.2.3.4"); +``` ## Other methods diff --git a/src/main/java/examples/VkExample.java b/src/main/java/examples/VkExample.java index e916e19..86bd325 100644 --- a/src/main/java/examples/VkExample.java +++ b/src/main/java/examples/VkExample.java @@ -19,7 +19,6 @@ private void imageBased(String apiKey) throws IOException { byte[] bytes = Files.readAllBytes(Paths.get("src/main/resources/vk.jpg")); String base64EncodedImage = Base64.getEncoder().encodeToString(bytes); - VkCaptcha captcha = new VkCaptcha("vkimage"); captcha.setImageBase64(base64EncodedImage); captcha.setSteps("[5,12,22,24,21,23,10,7,2,8,19,18,8,24,21,22,11,14,16,5,18,20,4,21,12,6,0,0,11,12,8,20,19,3,14,8,9,13,16,24,18,3,2,23,8,12,6,1,11,0,20,15,19,22,17,24,8,0,12,5,19,14,11,6,7,14,23,24,23,20,4,20,6,12,4,17,4,18,6,20,17,5,23,7,10,2,8,9,5,4,17,24,11,14,4,10,12,22,21,2]"); From ea93644d1383e4d22331047ff346977ba776ffb2 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Thu, 16 Oct 2025 16:34:57 +0300 Subject: [PATCH 09/15] readme updated --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5f65d0f..4a3b683 100644 --- a/README.md +++ b/README.md @@ -498,7 +498,7 @@ captcha.setUserAgent("Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHT captcha.setProxy("HTTPS", "login:password@IP_address:PORT"); ``` -### VK Captcha +### VK Image [API method description.](https://2captcha.com/2captcha-api#vkcaptcha) @@ -512,12 +512,11 @@ VkCaptcha captcha = new VkCaptcha("vkimage"); captcha.setImageBase64(base64EncodedImage); captcha.setSteps("[5,12,22,24,21,23,10,7,2,8,...]"); ``` -### VK Image +### VK Captcha [API method description.](https://2captcha.com/2captcha-api#vk-captcha) -We use the body (image in base64 format) or file (image as file) and steps parameters. -You can get both values from the response to the request https://api.vk.com/method/captchaNotRobot.getContent?v={API_VER} when loading the captcha widget on the page. +Token-based method requires redirect_uri parameter, as well as proxy and userAgent. The value of the redirect_uri parameter can be found in the response to requests to the VK API that return captchas. ```java VkCaptcha captcha = new VkCaptcha("vkcaptcha"); From 3c17eb07411d5584e041d21bd08960f37cdd4c0d Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Thu, 30 Oct 2025 13:24:50 +0300 Subject: [PATCH 10/15] setFile --- src/main/java/com/twocaptcha/captcha/VkCaptcha.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java index 655baf1..84f88de 100644 --- a/src/main/java/com/twocaptcha/captcha/VkCaptcha.java +++ b/src/main/java/com/twocaptcha/captcha/VkCaptcha.java @@ -1,5 +1,7 @@ package com.twocaptcha.captcha; +import java.io.File; + public class VkCaptcha extends Captcha { public VkCaptcha(String method) { @@ -23,5 +25,11 @@ public void setuserAgent(String userAgent) { params.put("userAgent", userAgent); } + public void setFile(String filePath) { + setFile(new File(filePath)); + } + public void setFile(File file) { + files.put("file", file); + } } From b90909cde9f455f4a6c59d55bf3d425fca656dc6 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Fri, 7 Nov 2025 08:22:27 +0300 Subject: [PATCH 11/15] vkcaptcha file added --- src/main/java/examples/VkCaptchaExample.java | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/main/java/examples/VkCaptchaExample.java diff --git a/src/main/java/examples/VkCaptchaExample.java b/src/main/java/examples/VkCaptchaExample.java new file mode 100644 index 0000000..079990c --- /dev/null +++ b/src/main/java/examples/VkCaptchaExample.java @@ -0,0 +1,51 @@ +package examples; + +import com.twocaptcha.TwoCaptcha; +import com.twocaptcha.captcha.VkCaptcha; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Base64; + +public class VkCaptchaExample { + + private void imageBased(String apiKey) throws IOException { + TwoCaptcha solver = new TwoCaptcha(apiKey); + solver.setExtendedResponse(1); + + VkCaptcha captcha = new VkCaptcha("vkcaptcha"); + captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); + captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); + captcha.setProxy("http", "1.2.3.4"); + + try { + solver.solve(captcha); + System.out.println("Captcha solved: " + captcha.getCode()); + } catch (Exception e) { + System.out.println("Error occurred: " + e.getMessage()); + } + } + + private void tokenBased(String apiKey) throws IOException { + TwoCaptcha solver = new TwoCaptcha(apiKey); + VkCaptcha captcha = new VkCaptcha("vkcaptcha"); + captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); + captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); + captcha.setProxy("http", "1.2.3.4"); + + try { + solver.solve(captcha); + System.out.println("Captcha solved: " + captcha.getCode()); + } catch (Exception e) { + System.out.println("Error occurred: " + e.getMessage()); + } + } + + public static void main(String[] args) throws Exception { + VkCaptchaExample vkExample = new VkCaptchaExample(); + vkExample.imageBased(args[0]); + //vkExample.tokenBased(args[0]); + } + +} From 2fd9214c8cadd1d6a0d8f4da6b6a0e9bbc1c41b2 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Fri, 7 Nov 2025 08:22:43 +0300 Subject: [PATCH 12/15] vkcaptcha file added --- .../{VkExample.java => VkImageExample.java} | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) rename src/main/java/examples/{VkExample.java => VkImageExample.java} (57%) diff --git a/src/main/java/examples/VkExample.java b/src/main/java/examples/VkImageExample.java similarity index 57% rename from src/main/java/examples/VkExample.java rename to src/main/java/examples/VkImageExample.java index 86bd325..46b89bf 100644 --- a/src/main/java/examples/VkExample.java +++ b/src/main/java/examples/VkImageExample.java @@ -1,8 +1,6 @@ package examples; import com.twocaptcha.TwoCaptcha; -import com.twocaptcha.captcha.Canvas; -import com.twocaptcha.captcha.Rotate; import com.twocaptcha.captcha.VkCaptcha; import java.io.IOException; @@ -10,7 +8,7 @@ import java.nio.file.Paths; import java.util.Base64; -public class VkExample { +public class VkImageExample { private void imageBased(String apiKey) throws IOException { TwoCaptcha solver = new TwoCaptcha(apiKey); @@ -31,25 +29,9 @@ private void imageBased(String apiKey) throws IOException { } } - private void tokenBased(String apiKey) throws IOException { - TwoCaptcha solver = new TwoCaptcha(apiKey); - VkCaptcha captcha = new VkCaptcha("vkcaptcha"); - captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); - captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); - captcha.setProxy("http", "1.2.3.4"); - - try { - solver.solve(captcha); - System.out.println("Captcha solved: " + captcha.getCode()); - } catch (Exception e) { - System.out.println("Error occurred: " + e.getMessage()); - } - } - public static void main(String[] args) throws Exception { - VkExample vkExample = new VkExample(); + VkImageExample vkExample = new VkImageExample(); vkExample.imageBased(args[0]); - //vkExample.tokenBased(args[0]); } } From 5d6b88ebdb6b95666f4920bfc702a1363eb4d2b8 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Mon, 10 Nov 2025 09:04:52 +0300 Subject: [PATCH 13/15] json error response --- src/main/java/com/twocaptcha/ApiClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/twocaptcha/ApiClient.java b/src/main/java/com/twocaptcha/ApiClient.java index 67a877b..04ade4e 100644 --- a/src/main/java/com/twocaptcha/ApiClient.java +++ b/src/main/java/com/twocaptcha/ApiClient.java @@ -96,7 +96,7 @@ private String execute(Request request) throws Exception { String body = response.body().string(); - if (body.startsWith("ERROR_")) { + if (body.contains("ERROR_")) { throw new ApiException(body); } From 3428a7a77eaea340c278276aaa9af780364e5198 Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Mon, 10 Nov 2025 09:06:03 +0300 Subject: [PATCH 14/15] proxy format fixed --- src/main/java/examples/VkCaptchaExample.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/examples/VkCaptchaExample.java b/src/main/java/examples/VkCaptchaExample.java index 079990c..eb4a05c 100644 --- a/src/main/java/examples/VkCaptchaExample.java +++ b/src/main/java/examples/VkCaptchaExample.java @@ -17,7 +17,7 @@ private void imageBased(String apiKey) throws IOException { VkCaptcha captcha = new VkCaptcha("vkcaptcha"); captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); - captcha.setProxy("http", "1.2.3.4"); + captcha.setProxy("HTTPS", "login:password@IP_address:PORT"); try { solver.solve(captcha); From 360ea1cc7e835e313cf6f6753b18f625a634934e Mon Sep 17 00:00:00 2001 From: victorkowalski Date: Mon, 10 Nov 2025 10:59:28 +0300 Subject: [PATCH 15/15] ERROR_PROXY_FORMAT --- src/main/java/examples/VkCaptchaExample.java | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/main/java/examples/VkCaptchaExample.java b/src/main/java/examples/VkCaptchaExample.java index eb4a05c..a4d0ff7 100644 --- a/src/main/java/examples/VkCaptchaExample.java +++ b/src/main/java/examples/VkCaptchaExample.java @@ -10,23 +10,6 @@ public class VkCaptchaExample { - private void imageBased(String apiKey) throws IOException { - TwoCaptcha solver = new TwoCaptcha(apiKey); - solver.setExtendedResponse(1); - - VkCaptcha captcha = new VkCaptcha("vkcaptcha"); - captcha.setRedirectUri("https://id.vk.com/not_robot_captcha?domain=vk.com&session_token=eyJ....HGsc5B4LyvjA&variant=popup&blank=1"); - captcha.setuserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"); - captcha.setProxy("HTTPS", "login:password@IP_address:PORT"); - - try { - solver.solve(captcha); - System.out.println("Captcha solved: " + captcha.getCode()); - } catch (Exception e) { - System.out.println("Error occurred: " + e.getMessage()); - } - } - private void tokenBased(String apiKey) throws IOException { TwoCaptcha solver = new TwoCaptcha(apiKey); VkCaptcha captcha = new VkCaptcha("vkcaptcha"); @@ -44,8 +27,7 @@ private void tokenBased(String apiKey) throws IOException { public static void main(String[] args) throws Exception { VkCaptchaExample vkExample = new VkCaptchaExample(); - vkExample.imageBased(args[0]); - //vkExample.tokenBased(args[0]); + vkExample.tokenBased(args[0]); } }