无准考证号的四六级查询

近期四六级成绩公布,有朋友想要查成绩却忘记准考证号,后来听宿舍一哥们儿说有软件可以只输入姓名,就可以进行查询,想一下可能是一些暴力匹配的原理,自己便尝试在web上直接进行重复匹配,发现同样也能有效,仅是不怎么方便罢了,稍微记录一下。

———————————————————————————————————————-----------------------------------------------

 

这是查成绩入口:

图片

Form表单的提交常用无非GET/POST两种方式,这个是POST的提交。用户点击查询按钮后,数据通过POST方法传输到服务器,进行数据库的匹配,然后返回客户信息。那我可以截取中间HTTP数据。

输入测试数据

图片

(相同学校的准考证号也就是后五位不同,分别对应3位考场号和2位的座号。

点击查询截取的数据是这样的

图片

 

清晰看出数据传递方法POST,下面是两个FORM数据,IDname

由于输入的是无效信息,当然得到界面为
图片


对应Response 数据为

图片

可见下面的4和这个错误的返回有一定关联。

 

 

 

知道以上情况,那就来个实例。网络中心一朋友的准考证号丢失了。我虽然确信他过不了,但是还想给他查查看(没错,我是好人)。

 

一、首先填写数据

图片

 

点击查询后截取数据

图片

二、然后进行设置变量

 

知道ID里面的后五位是变量,为了提高速度,设置两个变量,前三位是考场号,后两位是座号,又好像知道考场没超过100,所以直接用两位数当考场号了。

图片

变量一范围   01-99

变量二范围   01-35 (印象中一个考场这么多人,忘了)

配置交替匹配。
 

三、进行重复提交

 

变量配置好后,就直接进行重复提交

比如这一段数据中

图片

看到Payload 1 中是50+ 这是考场

后面Payload 2 是座号,依次进行匹配。

 

我们看到后面 length的长度都是203

展开一个response包查看一下

图片

发现下面的那个 4 ,就是我们上面所说的那个错误信息相关代码,说明信息错误。

匹配过程中发现这样一个数据

图片

长度不同,展开数据

图片

发现response 和错误信息不同,那么说明这个就是得到的正确回复。

我们能看出来。

Payload 1 = 36  考场号)

Payload 2 = 10  座号)

 

知道信息后再次提交,就得到成绩了

 

图片

 

 

果然没过!

 

 

——————————————————————————————————————_

这样看来,那些查询软件原理与这个应大同小异。只不过匹配查询消耗资源,本机上进行大量数据的匹配可能会耗费时间更长一些。而有专门的服务器进行软件的后台处理,相应效率也会提高很多。

在学习的过程中,养成发现问题,分析原理的好习惯,往往有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以用 Python 的第三方库 requests 来实现这个功能。具体步骤如下: 1. 安装 requests 库,执行以下命令: ``` pip install requests ``` 2. 在代码中导入 requests 库,并使用其中的 get() 函数调用网站的 API 接口。 ```python import requests def query(admission_no): url = f"https://example.com/api/query?admission_no={admission_no}" response = requests.get(url) return response.json() ``` 3. 调用 query() 函数并传入准考证号,就能得到查询结果。 ```python result = query("123456") print(result) ``` 注意:这仅仅是一个示例代码,实际使用中需要根据具体网站的 API 接口进行调整。 ### 回答2: Python可以根据准考证证号实现查询功能。实现这个功能的方法有很多,下面是一种简单的实现方式: 首先,我们需要有一个包含准考证证号和相关信息的数据库。可以使用Python中的字典或列表来实现简单的数据库。例如,我们可以创建一个包含多个字典的列表,每个字典表示一个学生的信息,其中包括准考证证号、姓名、性别等。 然后,用户输入准考证证号进行查询。通过Python的input()函数获取用户输入的准考证证号。 接下来,我们在数据库中遍历查找与输入的准考证证号匹配的信息。可以使用for循环来遍历数据库列表,并使用if语句判断准考证证号是否匹配。 如果找到了匹配的准考证证号,我们可以输出该学生的相关信息,例如姓名、性别、报考科目等。 如果没有找到匹配的准考证证号,我们可以输出相关的提示信息,例如“未找到该准考证证号的信息”。 最后,我们可以将查询功能封装在一个函数中,以便在需要的时候调用。 这只是一个简单的实现方式,具体的实现方式还可以根据实际情况进行调整和改进。例如,可以将数据库存储在文件或数据库中,以便更方便地读取和操作。另外,还可以添加其他功能,例如根据姓名或其他信息进行查询等。 ### 回答3: Python 可以通过以下代码实现根据准考证证号进行查询功能: ```python # 创建一个空的学生信息字典 student_info = {} # 添加学生信息到字典中(示例) student_info["200001"] = {"name": "张三", "age": 18, "gender": "男", "score": 90} student_info["200002"] = {"name": "李四", "age": 17, "gender": "女", "score": 85} student_info["200003"] = {"name": "王五", "age": 16, "gender": "男", "score": 95} # 定义查询函数 def query_student_info(student_id): if student_id in student_info: return student_info[student_id] else: return None # 输入要查询的准考证证号 input_id = input("请输入要查询的准考证证号:") # 调用查询函数并打印结果 result = query_student_info(input_id) if result: print(f"姓名:{result['name']}") print(f"年龄:{result['age']}") print(f"性别:{result['gender']}") print(f"分数:{result['score']}") else: print("该准考证证号不存在") ``` 以上代码创建了一个学生信息字典 `student_info`,其中以准考证证号作为键,每个学生的信息作为值。然后定义了一个查询函数 `query_student_info`,根据输入的准考证证号返回相应的学生信息。最后,用户输入要查询的准考证证号,调用查询函数并打印结果。如果输入的准考证证号存在于学生信息字典中,就会打印该学生的姓名、年龄、性别和分数;如果不存在,则会打印提示信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值