সূচক
- এপিআই ক্লায়েন্ট libs
- স্থানাঙ্ক বা চিত্র গ্রুপ এপিআই এর মাধ্যমে উত্তরাধিকার/পুরানো রেকাপ্টচা সমাধান
- সমন্বয় এপিআই
- Recaptcha চিত্র গ্রুপ
- কোড ব্যবহারের উদাহরণ
এপিআই ক্লায়েন্ট ভিত্তিক উদাহরণ কোডগুলি ডাউনলোড করুন:
ঐতিহ্যবাহী/পুরানো রেক্যাপ্চা এপিআই সমর্থন
"উত্তরাধিকার/পুরানো রেকাপ্টচা/নোকাপ্টচা" কী?
একটি উত্তরাধিকার/পুরানো রেকাপ্টচ চ্যালেঞ্জ রয়েছে যা সাধারণত ব্যবহারকারীকে নির্দিষ্ট চিত্রগুলিতে সনাক্ত করতে এবং ক্লিক করতে হয়। তারা traditional তিহ্যবাহী শব্দ/নম্বর রেকাপ্টচাসের সাথে বিভ্রান্ত হওয়ার দরকার নেই (যাদের কোনও চিত্র নেই)।
আপনার সুবিধার জন্য, আমরা উত্তরাধিকার/পুরানো রেকাপ্টচা এপিআই সমর্থন করেছি। যদি আপনার সফটওয়্যার এটি সাথে কাজ করে এবং ন্যূনতম কনফিগারেশনকে সমর্থন করে তবে আপনি কোনও সময়েই ক্যাপচা দ্বারা মৃত্যু ব্যবহার করে ক্যাপচা ডিকোড করতে পারবেন Death by Captcha এরসাহায্যে।
আমরা দুটি ভিন্ন ধরণের Legacy/Outdated Recaptcha API সরবরাহ করি:
- Coordinates API: একটি স্ক্রিনশট সরবরাহ করা হয়েছে, এপিআই ক্লিক করতে একদল স্থানাঙ্ক প্রদান করে।
- Image Group API: (বেস 64-এনকোডেড) চিত্রগুলির একটি গ্রুপ সরবরাহ করেছে, এপিআই ক্লিক করতে চিত্রগুলির সূচকগুলি ফেরত দেয়।
মূল্য নির্ধারণ
আপাতত, দামটি $ 3.99/1K নতুন রিক্যাপ্টচা চ্যালেঞ্জগুলি সঠিকভাবে সমাধান করা হয়েছে। ভুলভাবে সমাধান হিসাবে প্রতিবেদন করা চিত্রগুলির জন্য আপনাকে বিল দেওয়া হবে না। মনে রাখবেন যে এই মূল্যটি কেবল নতুন রেকাপ্ট / নোকাপ্টচা চিত্রগুলিতে প্রযোজ্য, সুতরাং কেবলমাত্র এই নির্দিষ্ট এপিআই ব্যবহার করে গ্রাহকদের হারের উপরে চার্জ করা হবে।
চিত্র আপলোড বিধিনিষেধ।
চিত্র ফাইলের আকার 180 কেবি এর চেয়ে কম সীমাবদ্ধ। যখন চিত্রটি বেস 64 এ এনকোড করা হবে, আকারটি 120 কেবি এর চেয়ে কম হওয়া উচিত। সমর্থিত চিত্রের ফর্ম্যাটগুলি হ'ল জেপিজি, পিএনজি, জিআইএফ এবং বিএমপি ।
সমন্বয় API FAQ:
- এপিআই ইউআরএল এর সমন্বয় করে?
-
স্থানাঙ্কগুলি এপিআই ব্যবহার করতে আপনাকে http পোস্টের অনুরোধটি http://api.dbcapi.me/api/captcha এ পাঠাতে হবে
- এপিআই এর সমন্বয়কারী পোস্টের পরামিতিগুলি কী কী?
-
এইগুলো:
- username: আপনার ডিবিসি অ্যাকাউন্ট ব্যবহারকারীর নাম
- password: আপনার ডিবিসি অ্যাকাউন্টের পাসওয়ার্ড
- captchafile: একটি বৈধ উত্তরাধিকার/পুরানো রেকাপ্টচা স্ক্রিনশট সহ একটি বেস 64 এনকোডেড বা মাল্টিপার্ট ফাইল সামগ্রী
- type=2: টাইপ 2 নির্দিষ্ট করে এটি একটি উত্তরাধিকার/পুরানো রেকাপ্টচা সমন্বয় এপিআই
- এপিআই এর সমন্বয় করে কী প্রতিক্রিয়া?
-
captcha: যদি text ক্ষেত্র নাহয়, তবে http://api.dbcapi.me/api/captcha/captcha_id URL-এর পুলিং করা আবশ্যক, যা captcha_id-র (Captcha ID) provided captcha-র ID
is_correct: (0 বা 1) ক্যাপচাকে ভুল বা অপঠনযোগ্য হিসাবে চিহ্নিত করা হয়েছিল কিনা তা নির্দিষ্ট করে
text: চিত্রের সাথে সম্পর্কিত ক্লিক করার জন্য সমস্ত স্থানাঙ্ক (x, y) সহ একটি জেএসনের মতো নেস্টেড তালিকা: উদাহরণস্বরূপ:
[[23.21, 82.11]]
যেখানে এক্স সমন্বয়টি 23.21 এবং ওয়াই সমন্বয়টি 82.11
এপিআই ক্লায়েন্টদের সাথে স্থানাঙ্কগুলি এপিআই ব্যবহার করে:
/**
* 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);
// });
}
});
চিত্র গ্রুপ এপিআই ফ্যাক:
- চিত্র গোষ্ঠী এপিআই ইউআরএল কি ?
-
চিত্র গ্রুপ এপিআই ব্যবহার করতে আপনাকে http পোস্টের অনুরোধটি http://api.dbcapi.me/api/captcha এ পাঠাতে হবে
- চিত্র গ্রুপ এপিআই এর পোস্ট প্যারামিটারগুলি কী কী?
-
এইগুলো:
- username: আপনার ডিবিসি অ্যাকাউন্ট ব্যবহারকারীর নাম
- password: আপনার ডিবিসি অ্যাকাউন্টের পাসওয়ার্ড
- captchafile: বেস 64 এনকোডেড ফাইল/চিত্র সামগ্রী যা বৈধ উত্তরাধিকার/পুরানো রেকাপ্টচা ধারণ করে।
- banner: বেস 64 এনকোডড ব্যানার চিত্র (উদাহরণ চিত্র যা উপরের ডানদিকে প্রদর্শিত হবে)
- banner_text: ব্যানার পাঠ্য (উপরের বাম দিকে প্রদর্শিত পাঠ্য)
- type=3: প্রকার 3 নির্দিষ্ট করে এটি একটি বৈশিষ্ট্যযুক্ত ধীর বা অপ্রচলিত রেকাপ্টচা চিত্র গ্রুপ এপিআই
- grid: Chap চ্ছিক গ্রিড প্যারামিটারটি ক্যাপচায় গ্রিড কী গ্রিডের সাথে সংযুক্ত থাকে তা নির্দিষ্ট করে (স্ট্রিং, প্রস্থ "এক্স" উচ্চতা, প্রাক্তন: "2x4", যদি চিত্রগুলি প্রতিটি 2 টি চিত্রের সাথে 4 টি সারিগুলিতে একত্রিত করা হয়। যদি সরবরাহ না করা হয় তবে ডিবিসি অটোডেটেক্ট করার চেষ্টা করবে গ্রিড
- চিত্র গ্রুপ এপিআই এর প্রতিক্রিয়া কী?
-
captcha: যদি text ক্ষেত্র নাহয়, তবে http://api.dbcapi.me/api/captcha/captcha_id URL-এর পুলিং করা আবশ্যক, যা captcha_id-র (Captcha ID) provided captcha-র ID
is_correct:(0 বা 1) ক্যাপচাকে ভুল বা অপঠনযোগ্য হিসাবে চিহ্নিত করা হয়েছিল কিনা তা নির্দিষ্ট করে
text: প্রতিটি চিত্রের জন্য সূচকের একটি JSON এর মতো তালিকা যা ক্লিক করা উচিত। উদাহরণ স্বরূপ:
[1, 4, 6]
যেখানে ক্লিক করা উচিত এমন চিত্রগুলি হ'ল প্রথম, চতুর্থ এবং ছয়টি, বাম থেকে ডান এবং নীচে পর্যন্ত গণনা
এপিআই ক্লায়েন্টদের সাথে ইমেজ গ্রুপ এপিআই ব্যবহার করে:
# 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);
// });
}
});
স্থানাঙ্কগুলির জন্য ব্যবহার কোড উদাহরণগুলি এপিআই এবং চিত্র গ্রুপ এপিআই:
1) আপনার চিত্রটি প্রেরণ করুন:
দয়া করে নোট করুন আমরা ক্যাপচা স্থানাঙ্কের জন্য এপিআইয়ের জন্য টাইপ = "2" ব্যবহার করছি।
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
বা:
দয়া করে নোট করুন আমরা ক্যাপচা চিত্র গ্রুপ এপিআইয়ের জন্য টাইপ="3" ব্যবহার করছি।
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
অথবা, আপনি যদি গ্রিড তথ্য সরবরাহ করছেন (উচ্চতা x প্রস্থ)। এই উদাহরণে গ্রিড 4x2 ব্যবহৃত হয়, আপনার আপলোড করা চিত্র অনুযায়ী এটি নির্দিষ্ট করা উচিত। আপনি যদি গ্রিড প্যারামিটার সরবরাহ না করেন তবে ডিবিসি যথাযথ গ্রিডকে অটোডেটেক্ট করার চেষ্টা করবে।
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
ফলাফল হ'ল একটি url_encoded ডেটা সম্পর্কিত ক্যাপচা_আইডি সহ:
'status=0&captcha=CAPTCHA_ID&text=&is_correct=1'
2) ক্যাপচা সমন্বয়গুলি টানছে: প্রদত্ত ক্যাপচা_আইডি নিন এবং এর মতো একটি অনুরোধ করুন:
curl -H "Accept: application/json" \
http://api.dbcapi.me/api/captcha/CAPTCHA_ID
ফলাফলটি একটি জসন-স্ট্রিং যেখানে ক্ষেত্র "text" এর মধ্যে সম্পর্কিত সমন্বয়গুলি অন্তর্ভুক্ত করে:
'{"status": 0, "captcha": 2911096,
"is_correct": true, "text": "[[57,240],[156,335]"}'