Code Monkey home page Code Monkey logo

ujn-lib-seat-api's People

Contributors

hephyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ujn-lib-seat-api's Issues

预约时间点问题

大神你好,最近每次预约成功或失败反馈的时间在5.01时间,是因为图书馆服务器在5.00时过于忙碌导致的吗…

返回message:"Invalid Request"的问题

各种参数都正常,也登陆上去了,但是没有预约成功。为什么返回以下这个message。
{
"status": "fail",
"code": "20",
"message": "Invalid Request",
"data": null
}

申请响应变慢

大神你好,我在程序中添加了多线程之后,因为经常出现连接中断的情况我加了异常处理,但是自那以后感觉服务器响应的速度就变慢了,在服务器不拥挤的情况下大约要五秒才能预约成功,相同的代码换到其他服务器上响应很快,而且服务器的内存和cpu使用率都非常低,请问这是哪里的问题啊

Sent with GitHawk

最近出问题了吗

昨天 前天 各有一个号预约失败,我认为是被抢了,今天所有的都请求失败。。

新版本APP逆向讨论issue

新版本的APP使用了Flutter进行开发,目前我找到的信息如下:

  • 无法被抓包,使用了自签证书,程序内部可能验证证书信息
  • java层只有一个MainActivity,所有逻辑代码均被编译为AOT代码
  • dart文件均被打包进cn.com.libseatapp\assets 目录下的isolate_snapshot_dataisolate_snapshot_instrvm_snapshot_datavm_snapshot_instr
  • 该文件可以使用IDA 以32位arm平台类型打开
  • 上述带有instr的文件不清楚作用,**_snapshot_data包含执行逻辑
  • vm_snapshot_data可能是Dart虚拟机,我们需要的代码逻辑在isolate_snapshot_data
  • 密钥可能是leos3cr3t
  • 加密时调用了uuid包uuid.V1()方法

本人时间精力有限,请有能力实现的朋友一起进行逆向,将分析结果添加到该issue下.

占座

来来来,我教给你们怎么抢座

你把想约的座位存到某个文件里,比如 seat.json,JSON 格式如下

[
    {
        "note": "person1 楼下只能约4个小时 所以可以用多个帐号来满足约一天的需求",
        "room": "第三阅览室南区",
        "seat_num": "299",
        "times": [
            {
                "begin": "8", "end": "12",
                "username": "",
                "password": ""
            },
            {
                "begin": "12", "end": "16",
                "username": "",
                "password": ""
            },
            {
                "begin": "16", "end": "20",
                "username": "",
                "password": ""
            }
        ]
    },
    {
        "note": "person2 貌似现在楼上可以约15个小时",
        "room": "第六阅览室北区",
        "seat_num": "1",
        "times": [
            {
                "begin": "8", "end": "20",
                "username": "",
                "password": ""
            }
        ]
    }
]

Python 代码无非就是读取这个 JSON 然后在正确的时间遍历预约
什么是正确的时间,就是图书馆开放预约那一刻,据我观察,图书馆开放第二天的预约一般为第一天五点多一点点,在 API 中的体现就是 p.filters().dates 返回了两个值,所以就可以通过循环不断检测 len(p.dates()) == 2 (大部分情况下适用) 来判断是否可以预约。

import json
import time

from libapi import * # 注意导入路径

def json_file(filename='seat.json'):
    with open(filename, 'r') as f:
        seats_json = json.load(f)
    return seats_json

def reserve(date):
    seats = json_file()
    for seat in seats:
        for user in seat['times']:
            p = libapi(user['username'], user['password'])
            room_id = p.getRoomIDbyName(seat['room'])
            resp = p.book(user['begin'], user['end'], room_id, seat['seat_num'], date)
            # handle(resp)


def main():
    p = libapi("帐号", "密码") # 用来获取日期
    while len(p.dates()) != 2:
        time.sleep(1)
    reserve(p.dates()[1])

if __name__ == '__main__':
    main()

然后通过定时任务(Linux 下 crontab) 每天四点五十九运行一下就可以了,至于多线程,多进程,日志,自己慢慢加吧~

就这么点,用我写好的库占座多简单,求给个 Star

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.