武汉加油!中国加油!
- 由于预约口罩的 API 经常更改,该脚本只能启到辅助作用,我能保证只要对方不改接口,这个脚本就能用。改了的话我能力范围内的会更新,所以请您手机也一起抢!手机为主,脚本为辅。
- 请勿高频请求!请勿高频请求!
- 每人一段时间只可预约一次,请勿重复预约。
- 切勿用于商用。
- 如若违法侵权请告知,必删。
- 所有数据均从合肥医保预约口罩页面获取。
- 为啥不用 ES6?因为我从网上抄的一段 request 请求方法,而且加密的也是 ES5,于是就统一 ES5,还兼容低版本 Node。哈哈哈哈哈。。。。
- 由于预约网站加入了图形验证码和 cookie / IP(猜测,未证实)机制,不能同个时间大量请求,会导致禁止请求。
- 手机为主,脚本为辅。手机为主,脚本为辅。手机为主,脚本为辅。!!!因为不能知道对方是否改接口。
- 由于
hash
生成的规则在2020-02-28
日修改了,新规则是当前时间戳 + 秘钥。config.js
中新增了时间差(dateDifference
)字段,默认30000s
,这个是我电脑和时间和对方服务器时间的大概误差,如果一直是请求频繁,可以尝试修改这个时间。 - 预约口罩的服务器最近到点就容易崩溃报
502
,到时候多启动几次脚本就行了。
confg.js
中的getDataInterval
参数是多长时间请求一次,默认是 10000ms。userData.js
中,依次输入您的个人信息,其中reservationNumber
为固定的五个,请勿改动。因为规定是预约只能预约 5 个且预约成功后,5 天内不可再次预约。- 如果您不知道您要领取的药店的名称和编号,请点击
getPharmacy.js
,在第二行pharmacyName
处输入您想查询的药房名称,然后执行node getPharmacy.js
即可查阅到相关信息。药房数据格式请查阅common/pharmacy.json
,其中每个数据的name
值,即为药店名称,其code
就是药店的编号 ID。或者在此查询,其中编号 ID 可以通过审查元素或者接口信息中看到。 - 0208 日,接口增加了图形验证码,为了破验证,我接入了百度云的文字识别,接入文档。进入百度云文字识别,然后创建个应用,之后获取到应用的
APP_ID
,API_KEY
,SECRET_KEY
。将这些输入到common/baidu.js
中。 百度云文字识别暂时是每日 50000 免费的,不用担心。
- 首先您要有
Node
环境,如果没有,请百度Node
安装一个 - - - 将代码下载到本地,然后在
cmd(终端)
中进入文件夹,windows
系统可以shift
+鼠标右键
,在终端中打开。 - 运行
npm install
- 在
userData.js
中,按照提示填好个人信息和药店信息 - 在
common/baidu.js
中,填入申请的百度文字识别的应用 ID 和其他信息。百度云的文字识别,接入文档 - 运行
node index.js
即可开始请求,执行脚本会立即请求一次,然后默认每 10s 请求一次。请勿高频请求!每天 17:00 可预约第二日口罩。所以您每天 17:00:00 再启动该脚本吧~已经预约到的 5 天不能再预约了哦!如果出现验证码错误请重新启动该脚本。