采用 Golang 开发。可靠性增强。
采用 Python 开发,基于 ddddocr 识别验证码。确实挺有意思的。
http://121.229.42.255:8888/grade/getGrade?param=JDH__name&password=0&captcha=372178
主要由param password captcha组成
password都是0,captcha是验证码,但是没有卵用
param是由建档号与姓名连接形成
生成方式:"JDH__name"
举例 2250141601
22 为学生批次,5014为学校代码,16为班级,01为班级内学生代码
好了,分析到这里,也就差不多了
非常的简单,这个接口啥防爬虫机制都没有,没有请求头验证,没有时间戳验证,没有验证码验证(即使要求输入,也没用)
我们可以用暴力生成建档号的方式,进行查询
当建档号正确时,会输出
{"code":0,"msg":"","data":{"XXDM":"连云港市柘汪中学","YY":"0","ZZ":"0","SW":"30","SX":"0","TY":"0","KYTL":"0","LS":"0","DL":"30","ZF":"60","KY":"","JDH":"2250141626","HX":"0","WH":"0","XM":"伞恩晨","WL":"0","TL":"","ZS":"0","BMH":"2250141626","JF":"0","YW":"0","XCZF":"60"}}
code 为 0
当错误时会输出
{"code":1002,"msg":"考生不存在或密码不正确","data":null}
code 为 1002
根据此,则可以获取相关信息
Python