首页 > 编程语言 >使用 JavaScript (Node.js) 实现验证码识别与自动化登录

使用 JavaScript (Node.js) 实现验证码识别与自动化登录

时间:2024-10-20 21:33:39浏览次数:1  
标签:Node axios const JavaScript 验证码 js captcha await

  1. 安装所需依赖
    首先,确保你已经安装了 Node.js。然后,使用 npm 安装所需的库:

bash

npm install axios jimp tesseract.js
2. 下载验证码图片
使用 axios 下载验证码图片并保存到本地:
更多内容联系1436423940
javascript

const fs = require('fs');
const axios = require('axios');

async function downloadCaptcha(url, savePath) {
const response = await axios.get(url, { responseType: 'arraybuffer' });
fs.writeFileSync(savePath, response.data);
console.log(验证码图片已保存为 ${savePath});
}

downloadCaptcha('https://captcha7.scrape.center/captcha.png', 'captcha.png');
3. 图像处理和 OCR 识别
使用 jimp 和 tesseract.js 进行图像处理和 OCR 识别:

javascript

const Jimp = require('jimp');
const Tesseract = require('tesseract.js');

async function recognizeCaptcha(imagePath) {
const image = await Jimp.read(imagePath);
image.threshold({ max: 128 }); // 转为黑白图像

const { data: { text } } = await Tesseract.recognize(image.bitmap, 'eng');
console.log(`识别结果: ${text.trim()}`);
return text.trim();

}

recognizeCaptcha('captcha.png');
4. 自动化登录
使用 axios 发送 POST 请求,模拟登录操作,并传递用户名、密码和识别出的验证码:

javascript

async function login(username, password, captcha) {
const url = 'https://captcha7.scrape.center/login';
const response = await axios.post(url, {
username,
password,
captcha
});

if (response.status === 200) {
    console.log('登录成功');
} else {
    console.log(`登录失败: ${response.status}`);
}

}
5. 主程序
整合上述代码,创建主程序:

javascript

(async () => {
const captchaUrl = 'https://captcha7.scrape.center/captcha.png';
const captchaPath = 'captcha.png';

// 下载验证码
await downloadCaptcha(captchaUrl, captchaPath);

// 识别验证码
const captchaText = await recognizeCaptcha(captchaPath);

// 登录
await login('admin', 'admin', captchaText);

})();

标签:Node,axios,const,JavaScript,验证码,js,captcha,await
From: https://www.cnblogs.com/ocr1/p/18487952

相关文章

  • vue(vue.js)—生命周期(1)
    原文链接:vue(vue.js)—生命周期(1)–每天进步一点点vue也有自己的生命周期。数据初始化的生命周期如下:beforeCreate、created、beforeMount、mounted1.beforeCreate此时,无法通过vm访问data中的数据,methods中的方法。2.created此时,可以通过vm访问到data中的数据,methods中配......
  • vue(vue.js)—内置指令v-cloak、v-once、v-pre
    原文链接:vue(vue.js)—内置指令v-cloak、v-once、v-pre–每天进步一点点1.v-cloak情景:请求服务器资源的时候,服务器资源有可能延时响应,这时候,vue无法加载一些数据,比如下面这种情况,<divid="root"><div>你好,{{name}}<div></div>如果平常情况,这个是可以渲染数据的,但......
  • 重构案例:将纯HTML/JS项目迁移到Webpack
    我们已经了解了许多关于Webpack的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对Webpack的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于GitHub上,非常感谢该项目的贡献者。重构案例......
  • vue(vue.js)—自定义指令
    原文链接:vue(vue.js)—自定义指令–每天进步一点点vue中的自定义指令就是把原生的dom一些操作进行封装。1.函数形式需求:我们定义一个v-mult指令,和v-text类似,但是会将绑定的值翻倍。在vue中,用directives自定义函数,比如下面这样:<!DOCTYPEhtml><htmllang="en"> <......
  • jsp辅导员考评管理系统09go2程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,通知信息,班级,活动记录,事项表格,活动信息,活动申请,期末成绩,综合素质开题报告内容一、研究背景随着高等教育的发展,辅导员的角色日益重要。他们不仅负......
  • jsp服装销售管理系统m651z--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商品类型,服装商品,服装入库,服装出库开题报告内容一、课题背景随着服装行业的竞争加剧,销售数据的精准管理和分析成为企业提升竞争力的关键。为了满足服......
  • jsp服饰销售系统的设计与实现wyi1q(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,服饰类别,后台客服,服饰信息开题报告内容一、课题名称服饰销售系统设计与实现二、研究背景与意义随着电子商务的蓬勃发展,服饰行业对高效、智能的销售管......
  • jsp风景区管理系统dkkbe--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,景点信息,景点分类,门票订单,系统公告,旅游路线开题报告内容一、课题背景与意义随着旅游业的蓬勃发展,风景区作为重要的旅游资源,其管理效率和游客体验成为......
  • 基于node.js+vue基于Android的儿童成长管理APP(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着信息技术的飞速发展,移动应用在各个领域得到了广泛的应用。关于儿童成长管理方面的研究,现有研究主要以传统的纸质记录或单一功能的软件为主,专门针对......
  • 基于node.js+vue基于Android的早教机构服务系统设计与实现(开题+程序+论文)计算机毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着社会发展,早教越来越受到重视。在国内外,关于早教机构管理与服务方面已有诸多研究。国外早教机构在服务系统的信息化建设方面较为先进,多注重借助现代......