一个非官方的洛谷(Luogu) API 服务,洛谷保存站的轻量公益实现。(感觉没甚屌用?qwq
🎲 随缘维护,欢迎 PR、Issue!
- qq:3673398763
- linux.do:liveless
洛谷保存站:Luogu Saver
pip install -r requirements.txtpython main.py服务将在 http://localhost:8000 启动,访问 /docs 可以查看 Swagger 交互式文档。
端点: POST /api/auth/login
curl -X POST "http://localhost:8000/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"username": "your_username", "password": "your_password"}'响应示例:
{
"success": true,
"data": {
"cookie_name": "cookie_value"
}
}获得的 cookies 可用于后续需要认证的请求。
端点: GET /api/problem/{problem_id}
curl "http://localhost:8000/api/problem/P1000"查询参数:
cookies(可选): JSON 格式的 cookies,用于获取更多信息
响应包含: 题目 ID、标题、难度、提交统计等
端点: GET /api/problem/{problem_id}/statement
curl "http://localhost:8000/api/problem/P1000/statement"响应包含: 题目背景、描述、输入输出格式、样例、提示等
端点: POST /api/problem/{problem_id}/submit
curl -X POST "http://localhost:8000/api/problem/P1000/submit" \
-H "Content-Type: application/json" \
-d '{
"language": "C++14",
"code": "#include <iostream>\nint main() { std::cout << \"Hello\"; return 0; }",
"enable_o2": false,
"cookies": "{\"cookie_name\": \"cookie_value\"}"
}'请求参数:
language: 编程语言(如 C++14、Python 等)code: 代码内容enable_o2: 是否启用 O2 优化,仅有 O2 优化选项的才会真正开启(可选,默认 false)cookies: 登录后的 cookies(必需)
响应示例:
{
"submission_id": 12345678
}端点: GET /api/record/{record_id}
curl "http://localhost:8000/api/record/12345678"响应包含: 编译信息、评测结果、测试点分组等详细信息
端点: GET /api/record/{record_id}/status
curl "http://localhost:8000/api/record/12345678/status"端点: GET /api/languages
curl "http://localhost:8000/api/languages"- 某些端点需要在查询参数中传递 cookies,格式为 JSON 字符串
欢迎提交 Issue 和 Pull Request!无论是 bug 修复、功能建议还是代码优化,我都很感谢。由于项目采用随缘维护的策略,建议:
- 保持代码风格一致
- 添加必要的测试或文档说明