题目 Check 是怎么做的?
Check 与平台是分开的。
根据我们以往举办比赛时的做法,每个出题人负责维护自己的题目以及 Check。
平台会为 Check 提供一个 Check 账号,用来请求题目接口进行扣分。
当 Check 检测到靶机服务器不可用时,Check 会使用管理员账号向平台接口发送请求,平台收到后将对应靶机状态设为 Down,并在本轮结束分数结算时扣分。
示例脚本
import requests
# Check 判断逻辑
# 发送 CheckDown 信息到平台
TOKEN = 'CHECK_MANAGER_TOKEN_HERE' # Check Token
GameBoxID = 1 # 靶机 ID
resp = requests.post('http://localhost:19999/api/manager/checkDown',
json={'GameBoxID': GameBoxID},
headers={'Authorization': TOKEN}).json()
if resp['error'] != 0:
print(resp['msg'])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15