Skip to content

Instantly share code, notes, and snippets.

@zhwei
Last active August 29, 2015 14:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhwei/2c01aa053cc5ee3e45dc to your computer and use it in GitHub Desktop.
Save zhwei/2c01aa053cc5ee3e45dc to your computer and use it in GitHub Desktop.
Gotit 开放接口文档

Gotit 开放接口文档

  • 更新时间: 2014-05-05
  • 数据格式均为JSON
  • 接口使用说明:
    1. 由于中文验证码的存在, 接口或许有点另类, 希望见谅.
    2. 验证类接口需要登录后才能使用, 如果仅查询单项信息推荐使用下面的成绩类或课表类接口
    3. 开发者在使用接口前先通过邮件联系作者 索要accesstoken, 将其放入请求header中.
    4. 次数限制 1000次/小时, 防止端口被恶意使用, 如果配额不够请联系作者.

索引

验证类

所有接口需要登陆后才能使用, 一次登录后可进行多次查询

登录

无验证码登录

以后正方系统可能屏蔽此登录方式

  • 功能
    登录后可以直接获取下面所有接口的结果, 仅需要提供用户识别码(UID)
  • 接口地址
    /user/login.json?nocode=true
  • 请求方式
    POST
  • POST示例
    {
        "xh": "1111123456",
        "pw": "password",
    }

有验证码登录

长期支持

  • 功能
    登录后可以直接获取下面所有接口的结果, 仅需要提供用户识别码(UID)

  • 接口地址
    /user/login.json

  • 请求方式
    GET + POST

    • 使用说明

      1. GET: 先进行一次GET获取 UID 值(用户识别码), 用户的唯一标识.
      2. 通过UID获取验证码, 验证码链接为http://api.gotit.asia/checkcode.gif?uid=[UID](无括号).
      3. POST: POST的数据有: 学号, 密码, 中文验证码(utf-8), 用户识别码UID
    • GET 结果示例

        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data": {
                "uid": "user_067e11ac790844c08e068c96fb5b023b"
            }
        }
    • POST 示例
        {
            "uid": "user_067e11ac790844c08e068c96fb5b023b",
            "xh": "1111123456",
            "pw": "password",
            "verify": "疫讨"
        }
  • 返回值示例

    {
        {
            "status": {
                "code": 200,
                "message": "Login Success",
            },
            "data": {
                "uid": "user_067e11ac790844c08e068c96fb5b023b"
            }
        }
    }

查询接口列表(需登录)

下面表格中接口请求方式与请求数据相同

  • 请求方式
    POST
  • 请求数据
    {
        "uid": "user_067e11ac790844c08e068c96fb5b023b"
    }
  • 返回值
    返回值与下方对应内容相同

  • 注意
    登录状态在完成最后一次查询操作五分钟后失效

  • 接口列表

接口名称 接口地址
当前学期成绩 /user/score/current_semester.json
全部成绩 /user/score/all.json
学分绩点 /user/score/gpa.json
往年四六级成绩 /user/score/former_cet.json
当前学期课表 /user/timetable/current_semester.json
当前学期课表(原始html) /user/timetable/current_semester/raw.json

成绩类

接口可以直接使用, 单次使用
请求方式与登录相同的可以选择有验证码登录或无验证码登录, 有验证码登录长期支持, 使用无验证码登录时接口地址后面加?nocode=true 例如: 无验证码登录 http://api.gotit.asia/user/login.json?nocode=true, 只需要post学号和密码

当前学期成绩

  • 功能
    查询当前学期成绩, 跟随正方教务系统, 实时获取.

  • 接口地址
    /score/current_semester.json

  • 支持格式
    JSON

  • 请求方式
    GET + POST

    • 使用说明

      1. GET: 先进行一次GET获取 UID 值(用户识别码), 用户的唯一标识.
      2. 通过UID获取验证码, 验证码链接为http://api.gotit.asia/checkcode.gif?uid=[UID](无括号).
      3. POST: POST的数据有: 学号, 密码, 中文验证码(utf-8), 用户识别码UID
    • GET 结果示例

        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data": {
                "uid": "user_067e11ac790844c08e068c96fb5b023b"
            }
        }
    • POST 示例
        {
            "uid": "user_067e11ac790844c08e068c96fb5b023b",
            "xh": "1111123456",
            "pw": "password",
            "verify": "疫讨"
        }
  • 返回值示例

    {
        {
            "status": {
                "code": 200,
                "message": "Login Success",
            },
             "data": {
                "大学英语": "60",
                "大学物理": "99",
                \\ ...
            }
        }
    }

全部成绩

  • 功能
    查询入学以来全部成绩, 包括补考成绩

  • 接口地址
    /score/all.json

  • 请求方式
    POST

    • 请求数据示例
        {
            "xh":"1111123456"
        }
  • 返回值示例

    {   
        "status" : {
            "code": 200,
            "message": "Success"
        },
        "data" : {
            "大学物理":{
                "initial": "90", // 原考成绩
                "makeup": ""     // 补考成绩
            },
            "大学英语":{
                "initial": "59.8",
                "makeup": "60"
            }
        }
    }

绩点

  • 功能
    查询学分绩点

  • 接口地址
    /score/gpa.json

  • 请求方式
    POST

    • 请求数据示例
        {
            "xh":"1111123456"
        }
  • 返回值示例

    {   
        "status" : {
            "code": 200,
            "message": "Success"
        },
        "data" : {
            "gpa": 71.612312312
        }
    }

往年四六级成绩

  • 功能
    查询往年四六级成绩

  • 接口地址 /score/former_cet.json

  • 请求方式
    POST

    • 请求数据示例
        {
            "xh":"1111123456"
        }
  • 返回值示例

    {   
        "status" : {
            "code": 200,
            "message": "Success"
        },
        "data" : {
            "201212-CET4": "465",
            "201306-CET6": "465"
        }
    }

课表类

接口可以直接使用, 单次使用

当前学期课表

  • 功能
    查询当前学期课表, 跟随正方教务系统, 实时获取.

  • 接口地址
    /timetable/current_semester.json

  • 请求方式
    GET + POST

    • 使用说明

      1. GET: 先进行一次GET获取 UID 值(用户识别码), 用户的唯一标识.
      2. 通过UID获取验证码, 验证码链接为http://api.gotit.asia/checkcode.gif?uid=[UID](无括号).
      3. POST: POST的数据有: 学号, 密码, 中文验证码(utf-8), 用户识别码UID
    • GET 结果示例

        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data": {
                "uid": "user_067e11ac790844c08e068c96fb5b023b"
            }
        }
    • POST 示例
        {
            "uid": "user_067e11ac790844c08e068c96fb5b023b",
            "xh": "1111123456",
            "pw": "password",
            "verify": "疫讨"
        }
  • 返回值示例

        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data" : [
                        {
                            "location": "西3101",
                            "name": "媒体策划与数字编辑",
                            "plan": "周一第7,8节{第10-10周}|双周", \\(原始字符串,用于检测解析是否准确)
                            "teacherName": "鞠英辉",
                            "dayOfWeek": "周一",
                            "oddEvenFlag": 0,       \\(单周为1,双周为2,不分单双周为0)
                            "sectionFrom": "7",     \\(节次开始)
                            "sectionTo": "9",       \\(节次结束)
                            "weekFrom": "2",        \\(开始上课周次)
                            "weekTo": "12 "         \\(结束上课周次)
                        },
                        \\ ...
            ]
        }

当前学期课表(原始html)

  • 功能
    查询当前学期课表, 跟随正方教务系统, 实时获取, 返回值为从正方教务系统通过正则表达式得出的原始html, 未经任何处理.

  • 接口地址
    /timetable/raw/current_semester.json

  • 请求方式
    GET + POST

    • 使用说明

      1. GET: 先进行一次GET获取 UID 值(用户识别码), 用户的唯一标识.
      2. 通过UID获取验证码, 验证码链接为http://api.gotit.asia/checkcode.gif?uid=[UID](无括号).
      3. POST: POST的数据有: 学号, 密码, 中文验证码(utf-8), 用户识别码UID
    • GET 结果示例

        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data": {
                "uid": "user_067e11ac790844c08e068c96fb5b023b"
            }
        }
    • POST 示例
        {
            "uid": "user_067e11ac790844c08e068c96fb5b023b",
            "xh": "1111123456",
            "pw": "password",
            "verify": "疫讨"
        }
  • 返回值示例

    {
        {
            "status": {
                "code": 200,
                "message": "Success",
            },
            "data": {
                "raw": "<tr>......<tr>",
            }
        }
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment