补全9月11日至13日课评:为13名学生创建请假文档,为5个班级创建总结文档
This commit is contained in:
@@ -82,13 +82,29 @@ def get_student_oj_data(homework_id: str, student_name: str) -> str:
|
||||
# 1. 登录OJ
|
||||
client = httpx.Client(base_url=base_url, follow_redirects=True)
|
||||
try:
|
||||
login_resp = client.post('/login', json={'uname': username, 'password': password})
|
||||
# 先访问登录页面
|
||||
client.get('/login')
|
||||
|
||||
# 使用表单格式登录
|
||||
form_data = {
|
||||
'uname': username,
|
||||
'password': password,
|
||||
'rememberme': 'on',
|
||||
'login_submit': '1'
|
||||
}
|
||||
login_resp = client.post('/login', data=form_data)
|
||||
login_resp.raise_for_status()
|
||||
|
||||
# 检查登录是否成功
|
||||
has_sid = any(c.name == "sid" for c in client.cookies.jar)
|
||||
if not has_sid:
|
||||
return "❌ 错误:OJ登录失败,请检查用户名密码"
|
||||
# 检查错误信息
|
||||
if '密码错误' in login_resp.text or 'password' in login_resp.text.lower():
|
||||
return "❌ 错误:OJ登录失败 - 密码错误"
|
||||
elif '不存在' in login_resp.text:
|
||||
return "❌ 错误:OJ登录失败 - 用户不存在"
|
||||
else:
|
||||
return "❌ 错误:OJ登录失败,请检查用户名密码"
|
||||
except Exception as e:
|
||||
return f"❌ 错误:OJ登录失败 - {e}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user