Indice
- API Client Libs
- Résolution de recaptcha hérité / Héritage via des coordonnées ou une API de groupe d'images
- Coordonne API
- Groupe d'images Recaptcha
- Exemples d'utilisation du code
Téléchargez les exemples d'exemples basés sur l'API:
Support API RECAPTCHA obsolète/hérité
Qu`est-ce que la "reCAPTCHA/noCAPTCHA héritée/obsolète"?
Exist a legacy/outdated reCAPTCHA challenges that typically require the user to identify and click on certain images. They`re not to be confused with traditional word/number reCAPTCHAs (those have no images).
Pour votre convenance, nous avons implémenté un support pour l'API Recaptcha hérité/obsolète. Si votre logiciel fonctionne avec lui et prend en charge une configuration minimale, vous devriez être en mesure de décoder les captchas en utilisant Death by Captcha en un rien de temps.
Nous fournissons deux types différents d'API Recaptcha hérité/obsolète :
- Coordinates API: Fourni d'une capture d'écran, l'API renvoie un groupe de coordonnées pour cliquer.
- Image Group API: Fourni d'un groupe d'images (encodées) (codées), l'API renvoie les index des images à cliquer.
Prix
Pour le moment, le prix est de 3,99 $ / 1k, les nouveaux défis RECAPTCHA sont correctement résolus. Vous ne serez pas facturé pour les images signalées comme incorrectement résolues. Notez que ce prix s'applique uniquement aux nouvelles images reCAPTCHA / noCAPTCHA, de sorte que seuls les clients utilisant cette API spécifique seront facturés au-dessus du taux.
Restrictions de téléchargement d'images.
La taille du fichier image est limitée à moins de 180 kb . Lorsque l'image sera codée dans la base64, la taille doit être inférieure à 120 kb . Les formats d'image pris en charge sont jpg, png, gif et bmp .
FAQ API Coordonnées:
- Qu'est-ce que la coordonne URL de l'API?
-
Pour utiliser la coordonnées API, vous devrez envoyer une demande HTTP Post à http://api.dbcapi.me/api/captcha
- Quels sont les paramètres de poste pour les coordonnées API?
-
Ceux-ci sont:
- username: Votre nom d'utilisateur de compte DBC
- password: Votre mot de passe du compte DBC
- captchafile: Un contenu de fichiers encodé en Base64 ou multipart avec une capture d'écran Recaptcha hérité/obsolète valide
- type=2: Le Type 2 spécifie qu'il s'agit d'un RecaptCha hérité / coordonnées API
- Quelle est la réponse de la coordonnée API?
-
captcha: id du captcha fourni, si le champ text est nul, vous devrez interroger l'url http://api.dbcapi.me/api/captcha/captcha_id jusqu'à ce qu'il soit disponible
is_correct: (0 ou 1) spécifiant si le captcha était marqué comme incorrect ou illisible
text: Une liste imbriquée de type JSON, avec toutes les coordonnées (x, y) pour cliquer par rapport à l'image, par exemple:
[[23.21, 82.11]]
où la coordonnée X est de 23,21 et que la coordonnée y est 82.11
Utilisation de coordonnées API avec les clients d'API:
/**
* Death by Captcha PHP API newrecaptcha_coordinates usage example
*
* @package DBCAPI
* @subpackage PHP
*/
/**
* DBC API clients
*/
require_once '../deathbycaptcha.php';
$username = "username"; // DBC account username
$password = "password"; // DBC account password
$token_from_panel = "your-token-from-panel"; // DBC account authtoken
// Use DeathByCaptcha_SocketClient() class if you want to use SOCKET API.
$client = new DeathByCaptcha_HttpClient($username, $password);
$client->is_verbose = true;
// To use token the first parameter must be authtoken.
// $client = new DeathByCaptcha_HttpClient("authtoken", $token_from_panel);
echo "Your balance is {$client->balance} US cents\n";
$captcha_filename = "../images/test.jpg"; // your image here
$extra = [
'type' => 2 // captcha_type
];
// Put your CAPTCHA image file name, file resource, or vector of bytes,
// and optional solving timeout (in seconds) here; you'll get CAPTCHA
// details array on success.
if ($captcha = $client->decode($captcha_filename, $extra)) {
echo "CAPTCHA {$captcha['captcha']} uploaded\n";
sleep(DeathByCaptcha_Client::DEFAULT_TIMEOUT);
// Poll for CAPTCHA coordinates:
if ($text = $client->get_text($captcha['captcha'])) {
echo "CAPTCHA {$captcha['captcha']} solved: {$text}\n";
// Report an incorrectly solved CAPTCHA.
// Make sure the CAPTCHA was in fact incorrectly solved!
//$client->report($captcha['captcha']);
}
}
# new recaptcha coordinates
import deathbycaptcha
# Put your DBC account username and password here.
username = "user"
password = "password"
# you can use authtoken instead of user/password combination
# activate and get the authtoken from DBC users panel
authtoken = "authtoken"
# to use socket client
# client = deathbycaptcha.SocketClient(username, password)
# to use authtoken
# client = deathbycaptcha.SocketClient(username, password, authtoken)
client = deathbycaptcha.HttpClient(username, password)
captcha_file = '../images/test.jpg' # image
try:
balance = client.get_balance()
print(balance)
# Put your CAPTCHA file name or file-like object, and optional
# solving timeout (in seconds) here:
captcha = client.decode(captcha_file, type=2)
if captcha:
# The CAPTCHA was solved; captcha["captcha"] item holds its
# numeric ID, and captcha["text"] item its list of "coordinates".
print("CAPTCHA %s solved: %s" % (captcha["captcha"],
captcha["text"]))
if '': # check if the CAPTCHA was incorrectly solved
client.report(captcha["captcha"])
except deathbycaptcha.AccessDeniedException:
# Access to DBC API denied, check your credentials and/or balance
print("error: Access to DBC API denied, check your credentials
and/or balance")
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
import java.io.IOException;
class ExampleRecaptchaCoordinates {
public static void main(String[] args)
throws Exception {
// Put your DBC username & password or authtoken here:
String username = "your_username_here";
String password = "your_password_here";
String authtoken = "your_authtoken_here";
String filename = "src/images/test.jpg";
/* Death By Captcha Socket Client
Client client = (Client) (new SocketClient(username, password));
Death By Captcha http Client */
Client client = (Client) (new HttpClient(username, password));
client.isVerbose = true;
/* Using authtoken
Client client = (Client) new HttpClient(authtoken); */
try {
try {
System.out.println("Your balance is " + client.getBalance() + " US cents");
} catch (IOException e) {
System.out.println("Failed fetching balance: " + e.toString());
return;
}
Captcha captcha = null;
try {
/* Upload a CAPTCHA and poll for its status with 120 seconds timeout.
Put you CAPTCHA image file name, file object, input stream, or
vector of bytes, and solving timeout (in seconds) if 0 the default value take place.
please note we are specifying type=2 in the second argument */
captcha = client.decode(filename, 2, 0);
} catch (IOException e) {
System.out.println("Failed uploading CAPTCHA");
return;
}
if (null != captcha) {
System.out.println("CAPTCHA " + captcha.id + " solved: " + captcha.text);
/* Report incorrectly solved CAPTCHA if necessary.
Make sure you've checked if the CAPTCHA was in fact incorrectly
solved, or else you might get banned as abuser. */
/*try {
if (client.report(captcha)) {
System.out.println("Reported as incorrectly solved");
} else {
System.out.println("Failed reporting incorrectly solved CAPTCHA");
}
} catch (IOException e) {
System.out.println("Failed reporting incorrectly solved CAPTCHA: " + e.toString());
}*/
} else {
System.out.println("Failed solving CAPTCHA");
}
} catch (com.DeathByCaptcha.Exception e) {
System.out.println(e);
}
}
}
// new recaptcha coordinates
using System;
using System.Collections;
using DeathByCaptcha;
namespace DBC_Examples.examples
{
public class RecaptchaCoordinatesExample
{
public void Main()
{
// Put your DeathByCaptcha account username and password here.
string username = "your username";
string password = "your password";
// string token_from_panel = "your-token-from-panel";
string filename = "./images/test.jpg";
/* Death By Captcha Socket Client
Client client = (Client) new SocketClient(username, password);
Death By Captcha http Client */
Client client = (Client) new HttpClient(username, password);
/* To use token authentication the first parameter must be "authtoken".
Client client = (Client) new HttpClient("authtoken", token_from_panel); */
try
{
double balance = client.GetBalance();
/* Put your CAPTCHA file name, or file object,
or arbitrary stream, or an array of bytes,
and optional solving timeout (in seconds) here:
*/
Captcha captcha = client.Decode(filename, 0, new Hashtable()
{
{"type", 2}
});
if (null != captcha)
{
/* The CAPTCHA was solved; captcha.Id property holds
its numeric ID, and captcha.Text holds its text. */
Console.WriteLine("CAPTCHA {0} solved: {1}", captcha.Id,
captcha.Text);
// if ( /* check if the CAPTCHA was incorrectly solved */)
//{
//client.Report(captcha);
//}
}
}
catch (AccessDeniedException e)
{
/* Access to DBC API denied, check your credentials and/or balance */
Console.WriteLine("<<< catch : " + e.ToString());
}
}
}
}
Imports DeathByCaptcha
Public Class NewRecaptchaCoordinates
Sub Main(args As String())
' Put your DBC username & password or authtoken here:
Dim username = "username"
Dim password = "password"
Dim token_from_panel = "your-token-from-panel"
' DBC Socket API client
' Dim client As New SocketClient(username, password)
' DBC HTTP API client
Dim client As New HttpClient(username, password)
' To use token auth the first parameter must be "authtoken"
' Dim client As New HttpClient("authtoken", token_from_panel)
Dim filename = "./images/test.jpg"
Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
client.Balance))
' Create the extra data with type
Dim extraData as new Hashtable()
extraData.Add("type", 2)
' Upload a CAPTCHA and poll for its status. Put the Token CAPTCHA
' Json payload, CAPTCHA type and desired solving timeout (in seconds)
' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
Dim captcha As Captcha = client.Decode(filename,
DeathByCaptcha.Client.DefaultTimeout,
extraData)
If captcha IsNot Nothing Then
Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}", captcha.Id,
captcha.Text))
' Report an incorrectly solved CAPTCHA.
' Make sure the CAPTCHA was in fact incorrectly solved, do not
' just report it at random, or you might be banned as abuser.
' If client.Report(captcha) Then
' Console.WriteLine("Reported as incorrectly solved")
' Else
' Console.WriteLine("Failed reporting as incorrectly solved")
' End If
End If
End Sub
End Class
' this script uses DeCaptcher API, to use this API first we need to opt-in our user in the following URL
' http://deathbycaptcha.com/user/api/decaptcher
' Is recomended to read the FAQ in that page
' this script can use authentication token instead of username/password combination
' to use this API with authentication token, first we need enable token authentication on users panel
' when using authentication token the username must be the keyword authtoken
' and the password is the authentication token from users panel
VERSION BUILD=844
URL GOTO=http://api.dbcapi.me/decaptcher?function=picture2&print_format=html
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:username
CONTENT={{YOUR_DBC_USERNAME}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:password
CONTENT={{YOUR_DBC_PASSWORD}}
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict
CONTENT={{PATH_TO_FILE}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict_type CONTENT=2
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=VALUE:Send
TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
/*
* Death by Captcha Node.js API newrecaptcha_coordinates usage example
*/
const dbc = require('../deathbycaptcha');
const username = 'username'; // DBC account username
const password = 'password'; // DBC account password
const token_from_panel = 'your-token-from-panel'; // DBC account authtoken
const captcha_file = '../images/test.jpg'; // Image filename src
// Death By Captcha Socket Client
// const client = new dbc.SocketClient(username, password);
// Death By Captcha http Client
const client = new dbc.HttpClient(username, password);
// To use token authentication the first parameter must be "authtoken"
// const client = new dbc.HttpClient("authtoken", token_from_panel);
// Get user balance
client.get_balance((balance) => {
console.log(balance);
});
// Solve captcha with type 2 extra argument
client.decode({captcha: captcha_file, extra: {type: 2}}, (captcha) => {
if (captcha) {
console.log('Captcha ' + captcha['captcha'] + ' solved: ' + captcha['text']);
// Report an incorrectly solved CAPTCHA.
// Make sure the CAPTCHA was in fact incorrectly solved!
// client.report(captcha['captcha'], (result) => {
// console.log('Report status: ' + result);
// });
}
});
API GROUP IMAGE API FAQ:
- Quel est l'URL de l'API du groupe d'images
-
Pour utiliser l'API de groupe d'images, vous devrez envoyer une demande de message HTTP à http://api.dbcapi.me/api/captcha
- Quels sont les paramètres de publication pour l'API du groupe d'images?
-
Ceux-ci sont:
- username: Votre nom d'utilisateur de compte DBC
- password: Votre mot de passe du compte DBC
- captchafile: Le contenu de fichier / image encodé en base64 avec le Recaptcha hérité/obsolète valide.
- banner: L'image de bannière codée Base64 (l'exemple d'image qui apparaît en haut à droite)
- banner_text: Le texte de la bannière (le texte qui apparaît en haut à gauche)
- type=3: Le Type 3 spécifie qu'il s'agit d'une API de groupe d'images Recaptcha héritée/obsolète
- grid: Le paramètre de grille facultatif spécifie les images individuelles de la grille en captcha alignées sur (chaîne, largeur "x" hauteur, ex.: "2x4", si les images alignées sur 4 lignes avec 2 images dans chacun. Si non fournie, DBC tentera de automatiquement la grille.
- Quelle est la réponse de l'API du groupe d'images?
-
captcha: id du captcha fourni, si le champ text est nul, vous devrez interroger l'url http://api.dbcapi.me/api/captcha/captcha_id jusqu'à ce qu'il soit disponible
is_correct:(0 ou 1) spécifiant si le captcha était marqué comme incorrect ou illisible
text: Une liste JSON de l'index pour chaque image qui doit être cliquée. Par exemple:
[1, 4, 6]
où les images qui doivent être cliquées sont la première, la quatrième et les six, en comptant de gauche à droite et en bas
Utilisation de l'API du groupe d'images avec les clients de l'API:
# new recaptcha image group
import deathbycaptcha
# Put your DBC account username and password here.
username = "username"
password = "password"
# you can use authtoken instead of user/password combination
# activate and get the authtoken from DBC users panel
authtoken = "authtoken"
# to use socket client
# client = deathbycaptcha.SocketClient(username, password)
# to use authtoken
# client = deathbycaptcha.SocketClient(username, password, authtoken)
client = deathbycaptcha.HttpClient(username, password)
captcha_file = '../images/test2.jpg' # image
banner = "../images/banner.jpg" # image banner
banner_text = "select all pizza:" # banner text
try:
balance = client.get_balance()
print(balance)
# Put your CAPTCHA file name or file-like object, and optional
# solving timeout (in seconds) here:
captcha = client.decode(captcha_file, type=3, banner=banner,
banner_text=banner_text)
# you can supply optional `grid` argument to decode() call, with a
# string like 3x3 or 2x4, defining what grid individual images were
# located at example:
# captcha = client.decode(captcha_file, type=3, banner=banner,
# banner_text=banner_text, grid="2x4")
# see 2x4.png example image to have an idea what that images look like
# If you wont supply `grid` argument, dbc will attempt to autodetect
# the grid
if captcha:
# The CAPTCHA was solved; captcha["captcha"] item holds its
# numeric ID, and captcha["text"] is a json-like list of
# the index for each image that should be clicked.
print("CAPTCHA %s solved: %s" % (captcha["captcha"],
captcha["text"]))
if '': # check if the CAPTCHA was incorrectly solved
client.report(captcha["captcha"])
except deathbycaptcha.AccessDeniedException:
# Access to DBC API denied, check your credentials and/or balance
print("error: Access to DBC API denied, check your credentials
and/or balance")
import com.DeathByCaptcha.AccessDeniedException;
import com.DeathByCaptcha.Client;
import com.DeathByCaptcha.HttpClient;
import com.DeathByCaptcha.SocketClient;
import com.DeathByCaptcha.Captcha;
import java.io.IOException;
class ExampleRecaptchaImageGroup {
public static void main(String[] args)
throws Exception {
// Put your DBC username & password or authtoken here:
String username = "your_username_here";
String password = "your_password_here";
String authtoken = "your_authtoken_here";
String filename = "src/images/test2.jpg";
String banner = "src/images/banner.jpg";
String banner_text = "choose all pizza:";
/* Death By Captcha Socket Client
Client client = (Client) (new SocketClient(username, password));
Death By Captcha http Client */
Client client = (Client) (new HttpClient(username, password));
client.isVerbose = true;
/* Using authtoken
Client client = (Client) new HttpClient(authtoken); */
try {
try {
System.out.println("Your balance is " + client.getBalance()
+ " US cents");
} catch (IOException e) {
System.out.println("Failed fetching balance: "
+ e.toString());
return;
}
Captcha captcha = null;
try {
/* Upload a CAPTCHA and poll for its status with 120
seconds timeout. Put you CAPTCHA image file name,
file object, input stream, or vector of bytes, and
solving timeout (in seconds) if 0 the default value
take place. please note we are specifying banner,
banner_test and type=3 in the second argument */
captcha = client.decode(filename, 3, banner,
banner_text, 0);
/* you can supply optional `grid` argument to decode()
call, with a string like 3x3 or 2x4, defining what
grid individual images were located at
example:
captcha = client.decode(filename, 3, banner,
banner_text, "2x4", 0);
see 2x4.png example image to have an idea what that images
look like. If you wont supply `grid` argument, dbc will
attempt to autodetect the grid */
} catch (IOException e) {
System.out.println("Failed uploading CAPTCHA");
return;
}
if (null != captcha) {
System.out.println("CAPTCHA " + captcha.id + " solved: "
+ captcha.text);
/* Report incorrectly solved CAPTCHA if necessary.
Make sure you've checked if the CAPTCHA was in fact
incorrectly solved, or else you might get banned
as abuser. */
/*try {
if (client.report(captcha)) {
System.out.println("Reported as incorrectly solved");
} else {
System.out.println("Failed reporting incorrectly
solved CAPTCHA");
}
} catch (IOException e) {
System.out.println("Reporting incorrectly solved CAPTCHA:"
+ e.toString());
}*/
} else {
System.out.println("Failed solving CAPTCHA");
}
} catch (com.DeathByCaptcha.Exception e) {
System.out.println(e);
}
}
}
// new recaptcha image group
using System;
using System.Collections;
using DeathByCaptcha;
namespace DBC_Examples.examples
{
public class RecaptchaImageGroupExample
{
public void Main()
{
// Put your DeathByCaptcha account username and password here.
string username = "your username";
string password = "your password";
// string token_from_panel = "your-token-from-panel";
string filename = "./images/test2.jpg";
string banner = "./images/banner.jpg";
string banner_text = "choose all pizza:";
/* Death By Captcha Socket Client
Client client = (Client) new SocketClient(username, password);
Death By Captcha http Client */
Client client = (Client) new HttpClient(username, password);
/* To use token authentication the first parameter must be "authtoken".
Client client = (Client) new HttpClient("authtoken", token_from_panel); */
try
{
double balance = client.GetBalance();
/* Put your CAPTCHA file name, or file object,
or arbitrary stream, or an array of bytes,
and optional solving timeout (in seconds) here:
*/
Captcha captcha = client.Decode(filename, 0, new Hashtable()
{
{"type", 3},
{"banner_text", banner_text},
{"banner", banner}
/*
- If you want to specify grid data: {"grid", "4x2"}
- If you wont supply grid parameter, dbc would attempt to
autodetect proper grid.*/
});
if (null != captcha)
{
/* The CAPTCHA was solved; captcha.Id property holds
its numeric ID, and captcha.Text holds its text. */
Console.WriteLine("CAPTCHA {0} solved: {1}", captcha.Id,
captcha.Text);
// if ( /* check if the CAPTCHA was incorrectly solved */)
//{
//client.Report(captcha);
//}
}
}
catch (AccessDeniedException e)
{
/* Access to DBC API denied, check your credentials and/or balance */
Console.WriteLine("<<< catch : " + e.ToString());
}
}
}
}
Imports DeathByCaptcha
Public Class NewRecaptchaImageGroup
Sub Main(args As String())
' Put your DBC username & password or authtoken here:
Dim username = "username"
Dim password = "password"
Dim token_from_panel = "your-token-from-panel"
' DBC Socket API client
' Dim client As New SocketClient(username, password)
' DBC HTTP API client
Dim client As New HttpClient(username, password)
' To use token auth the first parameter must be "authtoken"
' Dim client As New HttpClient("authtoken", token_from_panel)
Dim filename = "./images/test2.jpg"
Dim banner = "./images/banner.jpg"
Dim banner_text = "choose all pizza:"
Console.WriteLine(String.Format("Your balance is {0,2:f} US cents",
client.Balance))
' Create the extra data with type
Dim extraData as new Hashtable()
extraData.Add("type", 3)
extraData.Add("banner", banner)
extraData.Add("banner_text", banner_text)
' If you want to specify grid data: extraData.Add("grid", "4x4")
' If you wont supply grid parameter, dbc would attempt to autodetect
' proper grid.
' Upload a CAPTCHA and poll for its status. Put the Token CAPTCHA
' Json payload, CAPTCHA type and desired solving timeout (in seconds)
' here. If solved, you'll receive a DeathByCaptcha.Captcha object.
Dim captcha As Captcha = client.Decode(filename,
DeathByCaptcha.Client.DefaultTimeout,
extraData)
If captcha IsNot Nothing Then
Console.WriteLine(String.Format("CAPTCHA {0:d} solved: {1}", captcha.Id,
captcha.Text))
' Report an incorrectly solved CAPTCHA.
' Make sure the CAPTCHA was in fact incorrectly solved, do not
' just report it at random, or you might be banned as abuser.
' If client.Report(captcha) Then
' Console.WriteLine("Reported as incorrectly solved")
' Else
' Console.WriteLine("Failed reporting as incorrectly solved")
' End If
End If
End Sub
End Class
' this script uses DeCaptcher API, to use this API first we need to opt-in our user in the following URL
' http://deathbycaptcha.com/user/api/decaptcher
' Is recomended to read the FAQ in that page
' this script can use authentication token instead of username/password combination
' to use this API with authentication token, first we need enable token authentication on users panel
' when using authentication token the username must be the keyword authtoken
' and the password is the authentication token from users panel
VERSION BUILD=844
URL GOTO=http://api.dbcapi.me/decaptcher?function=imagegroup&print_format=html
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:username
CONTENT={{YOUR_DBC_USERNAME}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:password
CONTENT={{YOUR_DBC_PASSWORD}}
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:pict
CONTENT={{PATH_TO_MAIN_IMAGE}}
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:banner
CONTENT={{PATH_TO_BANNER_IMAGE}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:banner_text
CONTENT={{BANNER_TEXT}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=NAME:grid CONTENT={{GRID}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://api.dbcapi.me/decaptcher ATTR=VALUE:Send
TAG POS=6 TYPE=TD ATTR=* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
/*
* Death by Captcha Node.js API newrecaptcha_image_groups usage example
*/
const dbc = require('../deathbycaptcha');
const username = 'username'; // DBC account username
const password = 'password'; // DBC account password
const token_from_panel = 'your-token-from-panel'; // DBC account authtoken
const captcha_file = '../images/test2.jpg'; // Captcha image filename src
const banner = '../images/banner.jpg'; // Banner image filename src
const banner_text = 'select all pizza:'; // Banner text
// Death By Captcha Socket Client
// const client = new dbc.SocketClient(username, password);
// Death By Captcha http Client
const client = new dbc.HttpClient(username, password);
// To use token authentication the first parameter must be "authtoken"
// const client = new dbc.HttpClient("authtoken", token_from_panel);
// Get user balance
client.get_balance((balance) => {
console.log(balance);
});
// Solve captcha with type 3, banner & banner_text extra arguments
client.decode({captcha: captcha_file, extra: {type: 3, banner: banner,
banner_text: banner_text}
}, (captcha) => {
// you can supply optional `grid` argument to decode() call, with a
// string like 3x3 or 2x4, defining what grid individual images were located at
// example:
// captcha = client.decode({captcha: captcha_file,
// extra: {type: 3, banner: banner,
// banner_text: banner_text, grid: "2x4"},
// (captcha) => {
// ...
// });
// see 2x4.png example image to have an idea what that images look like
// If you wont supply `grid` argument, dbc will attempt to autodetect the grid
if (captcha) {
console.log('Captcha ' + captcha['captcha'] + ' solved: ' + captcha['text']);
// Report an incorrectly solved CAPTCHA.
// Make sure the CAPTCHA was in fact incorrectly solved!
// client.report(captcha['captcha'], (result) => {
// console.log('Report status: ' + result);
// });
}
});
Exemples de code d'utilisation pour les coordonnées API et API du groupe d'images:
1) Envoyez votre image:
Veuillez noter que nous utilisons Type = "2" pour l'API CAPTCHA Coordonnées.
curl --header 'Expect: ' -F username=your_username_here \
-F password=your_password_here \
-F captchafile=@'your_captcha_filename.jpg' \
-F type='2' http://api.dbcapi.me/api/captcha
OU:
Veuillez noter que nous utilisons Type="3" pour l'API du groupe d'images CAPTCHA.
curl --header 'Expect: ' -F username=your_username_here \
-F password=your_password_here \
-F captchafile=@'your_captcha_filename.jpg' \
-F banner=@'your_banner_filename.jpg' \
-F banner_text=banner_text_here \
-F type='3' http://api.dbcapi.me/api/captcha
Ou, si vous fournissez des informations sur la grille (hauteur x largeur). Dans cet exemple, la grille 4x2 est utilisée, vous devez le spécifier en fonction de l'image téléchargée. Si vous ne fournissez pas le paramètre de la grille, DBC tenterait de automatiquement la grille appropriée.
curl --header 'Expect: ' -F username=your_username_here \
-F password=your_password_here \
-F captchafile=@'your_captcha_filename.jpg' \
-F banner=@'your_banner_filename.jpg' \
-F banner_text=banner_text_here \
-F type='3' http://api.dbcapi.me/api/captcha
-F grid=4x2
Le résultat est une données URL_Encoded comprenant le CAPTCHA_ID respectif:
'status=0&captcha=CAPTCHA_ID&text=&is_correct=1'
2) Tirer les coordonnées CAPTCHA: Prenez le CAPTCHA_ID donné et faites une demande comme ceci:
curl -H "Accept: application/json" \
http://api.dbcapi.me/api/captcha/CAPTCHA_ID
Le résultat est une chaîne JSON où le "text" du champ comprend les coordonnées respectives:
'{"status": 0, "captcha": 2911096,
"is_correct": true, "text": "[[57,240],[156,335]"}'