全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

NodeJs模拟登陆正方教务

网上已经有很多关于模拟登陆正方教务的作品了,基于 PHP,Python,Java,.Net 加上我自己尝试的NodeJs,这几门语言都可以实现模拟登陆,模拟登陆的技术点不是特别难,这里记录一下利用 Node 碰到的一些坑,以及一些我自己的解决思路。

1. 收集模拟登陆信息

这一步最基础,通过 chrome 的 network 就可以查看跳转的 post 或者 get 请求以及参数了。

注意勾选Preserve log 否则页面跳转你是看不到请求的。

注意点:出现 (unable to decode value) 表示经过 gbk 转码了,另外就是post的数据格式是 formdata

2. 登录过程中 302 重定向

之前利用 PHP 就死在 重定向上,没有搞定,总是会出现 object moved to here.不同语言都有相关的解决办法的,你用js库,那就查看API,php是curl有这个方法的

3. NodeJs 自身

1、回调-----使用了 async 这个库来解决回调。

2、异常处理-----express 框架就好了,自定义异常中间件,省心。

3、容易崩溃----- 使用 PM2 就好。

4、由于这里的使用场景相当于是每个用户登录后,后端都要发送一次模拟登陆,如果碰到长时间目标网站没有响应,那么我采取了重试当前操作的一种做法,所以如果响应时间很长,那么是否可以先返回一个 loading 的状态,然后执行完之后再通知前端?

这里我使用了 Socket-io 来搞定后端像前端定向通知的这么一种做法。

但是 socketio也有坑,就是服务端知道client id是可以发送数据给某一个客户端的,但是前端如果一刷新页面就会生成一个新的 client id,鉴于前端使用的单页框架,在应用启动的时候就向服务端请求一个 token 然后 socket 在通信的时候带上这个 token 和client id,并且保存在了 redis 中,这样当后端的异步请求抓取到数据的时候,只要通过这个 token 查找对应的client id 即可。

5、代码问题

刚开始犯了一个错,就是拿客户端编程的思维去写 Node 结果发现 当两个用户同时发送请求后,会导致变量数据发生冲突。换句话说,如果一开始定义了一个 aa 变量  A 用户发送请求 写入了数据到 aa ,B 用户此时也是操作 了 aa 那么这个 aa其实就是出问题了,也就是说当你启动 NodeJs 之后,你所写的全局变量将会永远存在(很正常...)。

暂时解决的办法就是 私有化,在入口统一使用了 new 的方式,这样无论你并发多少个请求,相互之间的数据都不会受到影响。 不知道还有没有更好的实现方式。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# nodejs  # 模拟登陆  # 正方教务登陆  # nodejs个人博客开发第七步 后台登陆  # nodejs语言实现验证码生成功能的示例代码  # nodejs使用express获取get和post传值及session验证的方法  # nodejs接入阿里大鱼短信验证码的方法  # NodeJS 实现手机短信验证模块阿里大于功能  # Nodejs中使用captchapng模块生成图片验证码  # Nodejs 发送Post请求功能(发短信验证码例子)  # Nodejs实现短信验证码功能  # Nodejs中session的简单使用及通过session实现身份验证的方法  # nodejs实现登陆验证功能  # 后端  # 使用了  # 跳转  # 回调  # 服务端  # 自己的  # 客户端  # 重定向  # 就会  # 都有  # 也有  # 你是  # 都要  # 那就  # 将会  # 有很多  # 就好  # 当你  # 长时间  # 相互之间 


相关文章: 如何选择PHP开源工具快速搭建网站?  宿州网站制作公司兴策,安徽省低保查询网站?  焦点电影公司作品,电影焦点结局是什么?  建站之星伪静态规则如何正确配置?  常州企业网站制作公司,全国继续教育网怎么登录?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  建站之星logo尺寸如何设置最合适?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  建站VPS配置与SEO优化指南:关键词排名提升策略  太平洋网站制作公司,网络用语太平洋是什么意思?  建站之家VIP精选网站模板与SEO优化教程整合指南  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  实现虚拟支付需哪些建站技术支撑?  如何快速生成凡客建站的专业级图册?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何快速生成高效建站系统源代码?  如何在阿里云虚拟服务器快速搭建网站?  实例解析Array和String方法  如何通过PHP快速构建高效问答网站功能?  英语简历制作免费网站推荐,如何将简历翻译成英文?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  网站制作知乎推荐,想做自己的网站用什么工具比较好?  北京的网站制作公司有哪些,哪个视频网站最好?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何选择最佳自助建站系统?快速指南解析优劣  南平网站制作公司,2025年南平市事业单位报名时间?  香港服务器选型指南:免备案配置与高效建站方案解析  Android自定义listview布局实现上拉加载下拉刷新功能  如何用已有域名快速搭建网站?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  平台云上自助建站如何快速打造专业网站?  建站VPS选购需注意哪些关键参数?  ppt制作免费网站有哪些,ppt模板免费下载网站?  如何用PHP快速搭建CMS系统?  如何彻底卸载建站之星软件?  内网网站制作软件,内网的网站如何发布到外网?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何用VPS主机快速搭建个人网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何快速生成专业多端适配建站电话?  如何用西部建站助手快速创建专业网站?  如何通过建站之星自助学习解决操作问题?  如何在云服务器上快速搭建个人网站?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  建站主机与虚拟主机有何区别?如何选择最优方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。