ssipak/imagetyperzapi

ImagetyperzAPI PHP 是一个用于 imagetyperz.com 验证码服务的简单易用的绕过验证码 API 包装器

v1.0.2 2018-06-28 09:31 UTC

This package is auto-updated.

Last update: 2024-09-16 11:56:50 UTC


README

imagetyperzapi 是一个用于 imagetyperz.com 验证码服务的简单易用的绕过验证码 API 包装器

安装

composer require imagetyperzapi/imagetyperzapi

git clone https://github.com/imagetyperz-api/imagetyperz-api-php

使用

只需引入模块,设置认证详情,即可开始使用验证码服务

require('lib/imagetyperzapi.php');      // load API library

设置 access_token 进行认证

// get access token from: http://www.imagetyperz.com/Forms/ClientHome.aspx
$access_token = 'your_access_token_here';
$i = new ImagetyperzAPI($access_token);

一旦设置了认证详情,就可以开始使用 API。

获取余额

$balance = $i->account_balance();
echo $balance;

解决

解决验证码是一个两步过程

  • 提交验证码详情 - 返回一个 ID
  • 使用 ID 检查其进度 - 当解决时,获取 解决方案

每种验证码类型都有自己的提交方法。

对于获取响应,所有类型都使用相同的方法。

图像验证码

$optional_parameters = array();
// $optional_parameters['iscase'] = 'true';            // case sensitive captcha
// $optional_parameters['ismath'] = 'true';            // instructs worker that a math captcha has to be solved
// $optional_parameters['isphrase'] = 'true';          // text contains at least one space (phrase)
// $optional_parameters['alphanumeric'] = '1';         // 1 - digits only, 2 - letters only
// $optional_parameters['minlength'] = '3';            // captcha text length (minimum)
// $optional_parameters['maxlength'] = '8';            // captcha text length (maximum)
captcha_id = $i->submit_image(image_path = 'captcha.jpg', $optional_parameters);

ID 用于在解决时检索解决方案。

观察 它也可以使用 URL 而不是图像文件。

reCAPTCHA

对于 reCAPTCHA 提交,需要两个东西。

  • page_url (必需)
  • site_key (必需)
  • type (可选,如果没有给出,默认为 1)
    • 1 - v2
    • 2 - 无痕
    • 3 - v3
    • 4 - 企业 v2
    • 5 - 企业 v3
  • v3_min_score - v3 reCAPTCHA 的目标最小分数 - 可选
  • v3_action - v3 reCAPTCHA 要使用的操作参数 - 可选
  • proxy - 解决 reCAPTCHA 时要使用的代理,例如 12.34.56.78:123412.34.56.78:1234:user:password - 可选
  • user_agent - 解决 reCAPTCHA 时要使用的 useragent - 可选
  • data-s - 解决 reCAPTCHA 时使用的额外参数 - 可选
  • cookie_input - 解决 reCAPTCHA 时使用的 cookie - - 可选
d = {}
$params = array();
$params['page_url'] = 'page_url_here';
$params['sitekey'] = 'sitekey_here';
// $params['type'] = 1;    // optional
// $params['v3_min_score'] = 0.3;          // min score to target when solving v3 - optional
// $params['v3_action'] = 'homepage';      // action to use when solving v3 - optional
// $params['proxy'] = '126.45.34.53:123';  // - optional
// $params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // optional
// $params['data-s'] = 'recaptcha data-s value'; // - optional
// $params['cookie_input'] = 'a=b;c=d';     // - optional
$captcha_id = $i->submit_recaptcha($params);

ID 将用于在工人完成验证码后检索 g-response。这需要 10-80 秒的时间。

检查 检索响应

GeeTest

GeeTest 是一种需要解决 3 个参数的验证码

  • 域名
  • 挑战
  • gt
  • api_server (可选)

此验证码完成后的响应是 3 个代码

  • 挑战
  • 验证
  • seccode

重要 此验证码需要与每个验证码一起发送一个 唯一的 挑战。

$params = array();
$params['domain'] = 'your_domain';
$params['challenge'] = 'challenge_here';
$params['gt'] = 'gt_here';
// $params['api_server'] = 'api.geetest.com';  // - geetest domain - optional
// $params['proxy'] = '126.45.34.53:123';  // - optional
// $params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // optional
$captcha_id = $i->submit_geetest($params);

可选地,您可以发送代理和 user_agent。

hCaptcha

需要 page_url 和 sitekey

$params = array();
$params['page_url'] = 'https://your-site.com';
$params['sitekey'] = '1c7062c7-cae6-4e12-96fb-303fbec7fe4f';
//$params['proxy'] = '126.45.34.53:123';  // - optional
//$params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // - optional
$captcha_id = $i->submit_hcaptcha($params);

Capy

需要 page_url 和 sitekey

$params = array();
$params['page_url'] = 'https://your-site.com';
$params['sitekey'] = 'Fme6hZLjuCRMMC3uh15F52D3uNms5c';
//$params['proxy'] = '126.45.34.53:123';  // - optional
//$params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // - optional
$captcha_id = $i->submit_capy($params);

Tiktok

需要 page_url 和 cookie_input

$params = array();
$params['page_url'] = 'https://tiktok.com';	
$params['cookie_input'] = 's_v_web_id:verify_kd6243o_fd449FX_FDGG_1x8E_8NiQ_fgrg9FEIJ3f;tt_webid:612465623570154;tt_webid_v2:7679206562717014313;SLARDAR_WEB_ID:d0314f-ce16-5e16-a066-71f19df1545f;';
//$params['proxy'] = '126.45.34.53:123';  // - optional
//$params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // - optional
$captcha_id = $i->submit_tiktok($params);

FunCaptcha

需要 page_url、sitekey 和 s_url

$params = array();
$params['page_url'] = 'https://your-site.com';
$params['sitekey'] = '11111111-1111-1111-1111-111111111111';
$params['s_url'] = 'https://api.arkoselabs.com';
$params['data'] = '{"a":"b"}';
//$params['proxy'] = '126.45.34.53:123';  // - optional
//$params['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'; // - optional
$captcha_id = $i->submit_funcaptcha($params);

检索响应

无论在提交验证码时使用何种验证码类型(和方法),在第一步收集到的 验证码 ID 之后都使用此方法来检查其解决状态,并在解决后获取响应。

它需要一个参数,那就是从第一步收集到的 验证码 ID

$captcha_id = $i->submit_recaptcha($params);
echo "Waiting for captcha to be solved...\n";
$response = null;
while($response === null) {
    sleep(10);
    // works any type of captcha, here showing with recaptcha submission
    $response = $i->retrieve_response($captcha_id);
}
echo "Response: ";
var_dump($response);

响应是一个类似于此的 JSON 对象

{
  "CaptchaId": 176707908, 
  "Response": "03AGdBq24PBCbwiDRaS_MJ7Z...mYXMPiDwWUyEOsYpo97CZ3tVmWzrB", 
  "Cookie_OutPut": "", 
  "Proxy_reason": "", 
  "Recaptcha score": 0.0, 
  "Status": "Solved"
}

其他方法/变量

联盟 ID

构造函数接受第二个参数,作为联盟 ID。

$i = new ImagetypersAPI($access_token, 123);      // use affiliateid

请求超时

作为构造函数的第三个参数,您可以指定请求的超时时间(以秒为单位)

$i = new ImagetypersAPI($access_token, 123, 60);      // use affiliateid

设置验证码错误

当我们的工人错误地解决了验证码时,您可以使用其 ID 通知服务器,这样我们才知道出了什么问题。

$i->set_captcha_bad($captcha_id);

示例

检查根目录中的示例,以查看每种验证码类型的示例。

许可证

API 库使用 MIT 许可证授权

更多信息

关于服务器端API的更多详细信息可以在这里找到。

验证码,bypasscaptcha,decaptcher,decaptcha,2captcha,deathbycaptcha,anticaptcha,bypassrecaptchav2,bypassnocaptcharecaptcha,bypassinvisiblerecaptcha,recaptchav2captchaservices,recaptchav2captchasolver,googlerecaptchasolver,recaptchasolverphp,recaptchabypassscript