Trong nhiều trường hợp, Normal captcha cản trở khả năng truy cập, làm người dùng thất vọng, hạn chế quyền truy cập vào thông tin mở, gây khó khăn cho việc thử nghiệm ứng dụng và trang web. Sử dụng bộ giải Normal captcha để tự động bỏ qua.
bản trình diễn Normal captcha
Trang này giải thích cách hiển thị Normal captcha và cách hoạt động của quá trình xác minh Normal captcha. Normal Captcha là một hình ảnh có chứa văn bản bị méo mó nhưng con người có thể đọc được. Để giải quyết captcha, người dùng phải nhập văn bản từ hình ảnh.
How to solve Normal Captcha
Download the captcha image.
Send image 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->normal('path/to/captcha.jpg'); } 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.normal('path/to/captcha.jpg') 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.Normal; public class NormalExample { public static void main(String[] args) { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); Normal captcha = new Normal("path/to/captcha.jpg"); 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 NormalExample { public static void Main() { var solver = new TwoCaptcha("YOUR_API_KEY"); Normal captcha = new Normal("path/to/captcha.jpg"); 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.Normal{ File: "/path/to/captcha.jpg", } 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) { if (ac < 2) { printf ("Usage: ./normal path/to/image.jpg\n"); return 0; } api2captcha::curl_http_t http; http.set_verbose (true); api2captcha::client_t client; client.set_http_client (&http); client.set_api_key (API_KEY); assert (ac > 1); api2captcha::normal_t cap; cap.set_file (av[1]); 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.normal({ image: 'path/to/captcha.jpg'}) # OR result = client.normal({ image: 'https://site-with-captcha.com/path/to/captcha.jpg' })
Manually:
- Multipart sample form:
<form method="post" action="https://2captcha.com/in.php" enctype="multipart/form-data"> <input type="hidden" name="method" value="post" /> Your key: <input type="text" name="key" value="YOUR_APIKEY" /> The CAPTCHA file: <input type="file" name="file" /> <input type="submit" value="Upload and get the ID" /> </form>
If everything is fine server will return the ID of your captcha:
OK|2122988149
Otherwise server will return an error code.
After 5 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|W9H5K
If captcha is not solved yet server will return
CAPCHA_NOT_READY
result. Repeat your request in 5 seconds. If something went wrong server will return an error code.
Paste received code into the field. Then, submit the form.