CAPTCHAFORUM
Administrator
Convenient PHP wrapper for the captcha recognition service rucaptcha.com .
The original documentation is available here.
Install
or
Examples
More examples in the examples folder .
Methods of Rucaptcha\Client
Documentation https://githubmemory.com/repo/gladyshev/rucaptcha-client
The original documentation is available here.
Install
$ composer require --prefer-dist gladyshev/rucaptcha-client "*"
or
Code:
"require": {
...
"gladyshev/rucaptcha-client": "*"
...
}
Examples
More examples in the examples folder .
Code:
/* Simple */
$rucaptcha = new Rucaptcha\Client(
Rucaptcha\Config::fromApiKey(getenv('__RUCAPTCHA_KEY__')),
new GuzzleHttp\Client() // Any PSR-18 HTTP-client
);
$captchaText = $rucaptcha->recognizeFile('captcha.png');
print_r($captchaText); // h54g6
/* Advanced example */
$rucaptcha = new \Rucaptcha\Client(
\Rucaptcha\Config::fromApiKey('YOUR_API_KEY'),
new \GuzzleHttp\Client(['base_uri' => 'https://2captcha.com']),
new \Monolog\Logger('2Captcha', [new \Monolog\Handler\StreamHandler('php://stdout')])
);
$taskIds = [];
$taskIds[] = $rucaptcha->sendCaptcha(file_get_contents('captcha1.png'));
$taskIds[] = $rucaptcha->sendCaptcha(file_get_contents('captcha2.jpg'));
$taskIds[] = $rucaptcha->sendCaptcha(file_get_contents('captcha3.gif'), [
Rucaptcha\Extra::NUMERIC => 1
]);
$results = [];
while (count($taskIds) > 0)
{
// Try get results
foreach ($taskIds as $i=>$taskId)
{
// Wait 5 sec
sleep(5);
$results[$taskId] = $rucaptcha->getCaptchaResult($taskId);
// false === is not ready, on error we've got an exception
if ($results[$taskId] === false) {
continue;
} else {
unset($taskIds[$i]);
}
}
}
print_r($results);
Methods of Rucaptcha\Client
Code:
use Rucaptcha\Client;
/* Solving captcha methods */
Client::recognize(string $content, array $extra = []): string;
Client::recognizeFile(string $path, array $extra = []): string;
Client::sendCaptcha(string $content, array $extra = []): int;
Client::getCaptchaResult(int $captchaId): string;
Client::getCaptchaResultBulk(array $captchaIds): array;
/* Pingback stuff */
Client::addPingback(string $uri): void;
Client::getPingbacks(): array;
Client::deletePingback(string $uri): void;
Client::deleteAllPingbacks(): void;
/* Google Recaptcha V2 */
Client :: sendRecapthaV2 ( $ googleKey , $ pageUrl , $ extra = []): int
Client :: recognizeRecapthaV2 ( $ googleKey , $ pageUrl , $ extra = []): string
/* Other */
Client::getLastCaptchaId(): string;
Client::getBalance(): string;
Client::reportGood(string $captchaId): bool;
Client::reportBad(string $captchaId): bool;
Documentation https://githubmemory.com/repo/gladyshev/rucaptcha-client