- 本项目仅供学习研究,禁止商用!
- 可指定医生
- 可指定就诊人
- 可指定挂号时间
- 定时挂号
- 代理刷号
- 自定义刷号起始日期
- 刷号失败重试
- 初始化
docker run --rm \
-v $PWD/91160-cli/config:/app/config \
-e APP_CMD='init' \
-e APP_CMD_ARGS='-c config/config.properties' \
-it pengpan/91160-cli:latest
- 挂号
docker run --name 91160-cli \
-v $PWD/91160-cli/config:/app/config \
-v $PWD/91160-cli/logs:/app/logs \
-e APP_CMD='register' \
-e APP_CMD_ARGS='-c config/config.properties' \
-d pengpan/91160-cli:latest
- 查看日志
docker logs -f 91160-cli
- 搭建Java运行环境,最低版本支持1.8,已有请跳过
- 下载
91160-cli-{version}.zip
并解压
- 初始化配置(仅需运行一次,运行结束后将生成配置文件
config.properties
,再次运行将覆盖配置)
$ java -jar 91160-cli.jar init
- 开始挂号
$ java -jar 91160-cli.jar register -c config.properties
操作:编辑配置文件config.properties
,加入sleepTime
,默认3000ms
,可适当降低
# 刷号休眠时间[单位:毫秒]
sleepTime=3000
操作:编辑配置文件config.properties
,加入brushStartDate
,默认为空,格式yyyy-MM-dd
# 刷号起始日期(表示刷该日期后一周的号,为空取当前日期)[格式: 2022-06-01]
brushStartDate=
- 场景:今天6月1号,得知张医生下午3点系统会自动放号,现在还没到时间,我想到了这个时间立马开抢,但我又怕到时候忘记
- 操作:编辑配置文件
config.properties
,加入enableAppoint=true
,加入appointTime=2022-06-01 15:00:00
,运行挂号程序
# 是否开启定时挂号[true/false]
enableAppoint=false
# 定时挂号时间[格式: 2022-06-01 15:00:00]
appointTime=
- 场景:在官网上,科室排班页没号,医生详情页却有号,明明有号,程序却还在空刷,什么鬼
- 分析:最开始,有且只有科室排班页有刷号接口(通道1),程序也一直在用,后面医生详情页也提供了刷号接口(通道2),程序没做支持,再后面程序升级,同时支持两个刷号接口
- 操作:编辑配置文件
config.properties
,加入brushChannel=
,默认为空表示支持 通道1+通道2 轮询刷号,也可单独这是其中一种
# 刷号通道[CHANNEL_1(通道1)/CHANNEL_2(通道2)]
brushChannel=
- 新建
proxy.txt
文件 - 写入代理信息,格式:
(http|socks)@ip:port
,每行一条
http@127.0.0.1:1087
socks@127.0.0.1:1086
- 编辑配置文件
config.properties
,开启并配置代理文件路径
# 是否开启代理[true/false]
enableProxy=true
# 代理文件路径[格式: /dir/proxy.txt]
proxyFilePath=[代理文件路径]
# 获取代理方式[ROUND_ROBIN(轮询)/RANDOM(随机)]
proxyMode=ROUND_ROBIN
- 当开启代理后,在循环刷号时会从代理文件中随机选取一条代理,并通过该代理发起请求
- 打开终端,先运行命令:
chcp 65001
,设置编码为UTF-8
; - 执行jar时加入
-Dfile.encoding=utf-8
,即java -Dfile.encoding=utf-8 -jar 91160-cli.jar init|register
; - 终端不要用
powershell
,要用cmd.exe
;
如果您觉得91160-cli
对你有帮助,可以请作者喝杯咖啡哦~
如果有好的想法和建议,请联系作者