dicr / yii2-anticaptcha
Клиент Anti-captcha API 2 для Yii2
Installs: 0
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
Type:yii2-extension
pkg:composer/dicr/yii2-anticaptcha
Requires
- php: ~7.4 || ~8.0.1
- dicr/yii2-http: ~2.1
- dicr/yii2-json: ~2.0
- dicr/yii2-validate: ~2.2
- yiisoft/yii2: ~2.0
Requires (Dev)
- phpunit/phpunit: ~9.5
- roave/security-advisories: dev-master
README
- Site: https://anti-captcha.com/mainpage
- API: https://anticaptcha.atlassian.net/wiki/spaces/API/pages/196633
Настройка
$config = [
    'modules' => [
        'anticaptcha' => [
            'class' => dicr\anticaptcha\AntiCaptchaModule::class,
            'clientKey' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        ]
    ]
];
Использование
Запрос на решение простой текстовой капчи:
use dicr\anticaptcha\AntiCaptchaModule;
use dicr\anticaptcha\method\CreateTaskRequest;
use dicr\anticaptcha\method\GetTaskRequest;
use dicr\anticaptcha\task\ImageToTextTask;
/** @var AntiCaptchaModule $module модуль */
$module = Yii::$app->getModule('anticaptcha');
/** @var CreateTaskRequest $req запрос создания задачи */
$req = $module->request([
    'class' => CreateTaskRequest::class,
    'task' => new ImageToTextTask([
        'body' => base64_encode(file_get_contents(__DIR__ . '/captcha.gif')),
    ])
]);
// отправляем запрос создания задачи решения капчи
$res = $req->send();
echo 'Задача: ' . $res->taskId . "\n";
// ждем 20 секунд
sleep(20);
/** @var CreateTaskRequest $req запрос решения капчи */
$req =$module->request([
    'class' => GetTaskRequest::class,
    'taskId' => $res->taskId
]);
// отправляем запрос
$res = $req->send();
echo 'Ответ: ' . $res->solution['text'] . "\n";