ssipak / imagetyperzapi
ImagetyperzAPI PHP 是一个用于 imagetyperz.com 验证码服务的简单易用的绕过验证码 API 包装器
Requires
- php: >=5.3.0
- ext-curl: *
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
- v22
- 无痕3
- v34
- 企业 v25
- 企业 v3
- v3_min_score - v3 reCAPTCHA 的目标最小分数
- 可选
- v3_action - v3 reCAPTCHA 要使用的操作参数
- 可选
- proxy - 解决 reCAPTCHA 时要使用的代理,例如
12.34.56.78:1234
或12.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