当前位置:   article > 正文

国外验证码|谷歌验证码打码平台EZCAPTCHA简短食用指南_ezcaptcha怎么使用

ezcaptcha怎么使用

关注它,不迷路。       

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

1.账户注册

在上一篇文章发布后,群里有很多的小伙伴注册了账户,现在注册还能白嫖10000点数

944fa31d29db2103eb7f3c6a06e49ba9.png

可供大家试用打码平台的服务,赶紧注册哟.地址:

注册地址

点击左下角的 阅读原文 可以直达。

2.api文档

它的api地址在这里:

api地址

大家可以通过查看这个文档,能知道如何调用它的api。

同时,我也让他们技术给了个简单针对谷歌验证码V2的demo,代码如下:

  1. import time
  2. import requests
  3. requests.packages.urllib3.disable_warnings()
  4. cap_key = "" #客户端秘钥 https://dashboard.ez-captcha.com/#/dashboard 右侧可以看到
  5. def cap_create_task(websiteURL, websiteKey, taskType, isInvisible, pageAction=None) -> str:
  6. url = "https://api.ez-captcha.com/createTask"
  7. data = {
  8. "clientKey": cap_key,
  9. "task": {
  10. "websiteURL": websiteURL,
  11. "websiteKey": websiteKey,
  12. "type": taskType,
  13. "isInvisible": isInvisible,
  14. # "pageAction": pageAction
  15. }
  16. }
  17. try:
  18. result = requests.post(url, json=data, verify=False, timeout=8)
  19. result = result.json()
  20. taskId = result.get('taskId')
  21. if taskId is not None:
  22. return taskId
  23. except Exception as e:
  24. print(e)
  25. def cap_get_response(taskID: str):
  26. times = 0
  27. start_time = time.time()
  28. while times < 120:
  29. try:
  30. url = "https://api.ez-captcha.com/getTaskResult"
  31. data = {
  32. "clientKey": cap_key,
  33. "taskId": taskID
  34. }
  35. result = requests.post(url, json=data, verify=False, timeout=8).json()
  36. solution = result.get('solution', {})
  37. if solution:
  38. response = solution.get('gRecaptchaResponse')
  39. if response:
  40. print(f"消耗时间 {time.time()-start_time}s")
  41. print(response)
  42. return response
  43. except Exception as e:
  44. print(e)
  45. times += 1
  46. time.sleep(1)
  47. return ""
  48. def get_token():
  49. type = "RecaptchaV2TaskProxyless"
  50. websiteURL = "" # 控制台执行获取,见最后的注释
  51. websiteKey = "" # 控制台执行获取,见最后的注释
  52. isInvisible = False
  53. taskId = cap_create_task(websiteURL, websiteKey, type, isInvisible, None)
  54. result = cap_get_response(taskId)
  55. return result
  56. if __name__ == '__main__':
  57. re_token = get_token()
  58. print (re_token)

3.demo说明

代码中的 cap_key 是与账户相关的密钥,它在 仪表盘中可以直接看到:

9d516631140e6d4ca844f159db2e411f.png

可以访问下面的链接来查看:

仪表盘

 websiteURL 和 websiteKey 可以通过 网页的控制台来获取。在一个有谷歌验证码的网站上打开控制台,以 52破解 的登录网站为例:

23a00c80a008c37f5e4b11520cc01d60.png

在这个页面按下F12,切换 控制台 选项,输入下面的代码并回车:

  1. function findRecaptchaClients() {
  2. // eslint-disable-next-line camelcase
  3. if (typeof (___grecaptcha_cfg) !== 'undefined') {
  4. // eslint-disable-next-line camelcase, no-undef
  5. return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
  6. const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' };
  7. const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object');
  8. objects.forEach(([toplevelKey, toplevel]) => {
  9. const found = Object.entries(toplevel).find(([_, value]) => (
  10. value && typeof value === 'object' && 'sitekey' in value && 'size' in value
  11. ));
  12. if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV'){
  13. data.pageurl = toplevel.baseURI;
  14. }
  15. if (found) {
  16. const [sublevelKey, sublevel] = found;
  17. data.sitekey = sublevel.sitekey;
  18. const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
  19. const callback = sublevel[callbackKey];
  20. if (!callback) {
  21. data.callback = null;
  22. data.function = null;
  23. } else {
  24. data.function = callback;
  25. const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
  26. data.callback = `___grecaptcha_cfg.clients${keys}`;
  27. }
  28. }
  29. });
  30. return data;
  31. });
  32. }
  33. return [];
  34. }
  35. findRecaptchaClients()

如下:

509d3dab99f0dd5b22b77127c48f5264.png

将 pageurl的值赋值给 websiteURL ,以及 sitekey的值赋值给 websiteKey  即可。

4.测试结果

将上面的值赋值给相关的参数后,我们来运行一下:

9459708a9080a65efe9bab948fc7ad99.png

返回了这么大一串字符串,那它是什么呢?

我们来抓抓 过了谷歌验证码的包试试:

ba667b60b6671fad54c9128e02d03482.png

这个包是最后登录的 post 参数,也就是过掉谷歌验证码最后提交的结果。

直接可以拿来用,太省事了。

今天的文章就分享到这里,后续分享更多的技巧,敬请期待。

4cebf781f4337793b50eca02ec60d771.jpeg

欢迎加入知识星球,学习更多AST和爬虫技巧。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/287311
推荐阅读
相关标签
  

闽ICP备14008679号