我的编程空间,编程开发者的网络收藏夹
学习永远不晚

NodeJs模拟登陆正方教务

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 的方式,这样无论你并发多少个请求,相互之间的数据都不会受到影响。 不知道还有没有更好的实现方式。

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

NodeJs模拟登陆正方教务

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

NodeJs模拟登陆正方教务

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

python模拟登陆、POST/GET请求方式

Python提供多种库用于模拟登录和发送HTTP请求。Requests-HTML和Selenium可用于模拟登录,而Requests和URLLib可用于发送GET和POST请求。模拟登录涉及创建会话、发送登录请求、提取会话cookie。发送POST请求需要准备请求参数并使用post()方法,而发送GET请求需要准备请求参数并使用get()方法。示例代码展示了使用Requests-HTML模拟登录、使用Requests发送POST请求、使用URLLib发送GET请求。还提供了注意事项,例如设置请求头、处理重
python模拟登陆、POST/GET请求方式
2024-04-02

使用Post方法模拟登陆爬取网页的实现方法

最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页。下面是极简版的代码:import java.io.BufferedReader;import java.io.InputStreamReader;import java.i
2023-05-31

Python爬虫之模拟知乎登录的方法教程

前言 对于经常写爬虫的大家都知道,有些页面在登录之前是被禁止抓取的,比如知乎的话题页面就要求用户登录才能访问,而 “登录” 离不开 HTTP 中的 Cookie 技术。 登录原理 Cookie 的原理非常简单,因为 HTTP 是一种无状态的
2022-06-04

关于云服务器的登陆方法描述正确的

云服务器是一种虚拟服务器,用户通过互联网访问服务器,并使用服务器上的软件进行操作。因此,云服务器的登录方法通常包括以下几种:使用浏览器登录:用户可以使用Chrome、Firefox等浏览器进行登录操作,具体步骤是打开浏览器并登录云服务账户。使用在线证书管理账户登录:使用在线证书管理账户可以在浏览器中访问云服务器并进行登录。具体步骤是将证书存储在本地并启用。在线证书管理账户通常是一个独立的证
2023-10-26

关于云服务器的登陆方法描述正确的是

云服务器是一种虚拟服务器,用户通过互联网访问服务器时,可以使用服务器的公共IP地址,而非私有IP地址登录。通常情况下,只有与服务器绑定的IP地址才能进行登录。以下是一些常见的云服务器登录方法:使用HTTP协议:HTTP协议是一种通用的传输协议,可以使用户通过HTTP端口进行连接和访问。常用的HTTP服务器包括GoogleCloud、AmazonWebServices、AWS和其他云服务提供商。使用Web界面:有些云服务提供商提供W...
2023-10-27

云服务器怎么用模拟器登录游戏教程

首先,需要准备一台模拟器。可以在淘宝上购买,也可以找游戏开发者购买。安装软件后,需要先将游戏账号进行实名认证,这个过程比较简单,只需要简单地输入自己的身份证号码即可。接下来,需要进行登录游戏。可以选择使用模拟器的快捷登录功能,也可以使用已有的账号直接登录,这里推荐使用模拟器的快捷登录。登录成功后,会出现游戏界面,点击“开始游戏”按钮即可开始玩你的游戏了。在游戏中可以选择不同的游戏模式、挑战、好友等。需要注意...
2023-10-27

关于云服务器的登陆方法描述正确的是什么

云服务器登陆方法通常有以下几种:使用云服务器管理界面:在云服务器管理界面中,您可以使用鼠标点击、键盘快捷键、输入法键等操作来登录云服务器。使用云服务器远程控制:在云服务器管理界面中,您可以通过网络连接连接到云服务器。在这个连接中,用户可以在云服务器的控制台中看到和控制云服务器中的应用程序和资源。使用云服务器登录API:在云服务器管理界面中,您可以使用API来访问云服务器中的应用程序和资源。您可能需要使用H...
2023-10-27

关于云服务器的登陆方法描述正确的有哪些

云服务器是一种虚拟服务器,用户通过互联网访问服务器时,可以使用服务器的公钥和私钥对文件进行加密,然后将加密后的文件传输给云服务器提供者进行处理。下面是一些关于云服务器的登陆方法的描述:使用浏览器访问:使用浏览器访问云服务器提供商的网站,进入页面后可以使用以下方法来登录:使用https://api.cloudstack.com/api/login使用云平台的API登录:在云平台的登录页面上,有一个API密钥,用户可以使用API密钥在浏览器中登录...
2023-10-27

关于云服务器的登陆方法描述正确的是什么意思

1.云服务器登陆方法的描述在云计算环境中,云服务器是一种虚拟化的计算资源,可以通过网络进行远程访问和管理。为了登陆云服务器,你需要使用以下方法之一:1.1SSH登陆SSH(SecureShell)是一种加密的网络协议,用于在不安全的网络中安全地进行远程访问。通过SSH登陆云服务器,你可以在终端或命令行界面上执行命令和管理服务器。要使用SSH登陆云服务器,你需要知道服务器的IP地址和SSH登陆凭证(用户名和密码或...
2023-10-27

关于云服务器的登陆方法描述正确的有哪些选项

使用终端登录:用户可以通过启动终端应用程序,或使用Telnet命令登录云服务器。使用浏览器登录:用户可以使用特定的浏览器(例如Chrome、Firefox等)登录云服务器,或使用云服务器提供商提供的默认浏览器登录。使用命令行登录:如果用户有使用命令行工具(例如Avast、Debian等),则可以使用命令行登录云服务器,例如使用cat/:conf/etc/vim等命令。需要注意的是,在使用终端或命令行登录云服务器时,用户需要保证其具有足够的权限...
2023-10-27

云服务器怎么使用模拟器功能的方法教程

首先,需要使用一个PHP框架,比如PHPMySQL、PHPMediaPlayer、PHPGit等,并配置好这些框架;使用模拟器,可以让你直接使用服务器的真实操作系统,比如:Windows、MacOS、Linux等等;创建一个虚拟账户,并在虚拟机中运行;在模拟器中安装一些必要的软件,比如:PHP、MySQL、MediaPlayer、PHPGit等;创建一个虚拟账户,然后在虚拟机中运行;模
2023-10-26

编程热搜

目录