前言
昨晚看到新闻上说,故宫举行 紫禁城上元之夜 活动,是94年来首次夜间对外开放,然后去故宫预售网站看了看活动的具体时间,查了查路线下班过去也可以赶上最后的入场时间,便欣然决定前往一探究竟。
抢票思路
好像很少事情是不需要抢就可以得到的。
首先到活动预约页面,打开控制台,找到了查询余票的接口
传参如下
然后就想着每分钟轮询余票,余票变化时发邮件通知我,我再去登录网站预约,因为自动提交需要通过代码去找提交接口,分析提交参数,猜测提交成功返回结果,比较麻烦且不一定能成功。
实践
先通过postman测试了接口的可用性,和预期的结果,然后写成了php脚本。测试过程中发现接口时不时会崩溃,看来大家都是很期待的,或者是被狠人刷了。
目录关系如下
相关代码如下 curl.php
gugong.php
old.txt
定时任务
结果
没有抢到票,在00:00:00时网站突然持续故障,网页打不开,无法连接,然后就准备睡觉了,在00.39时看到邮件中显示余票都为0了。
总结
通过本次抢票,感觉自己也学到了很多,也意识到了自己编码方面的不足,感觉还挺有意思。
本来以为没开抢之前的余票是不变的,就直接用postman的余票数和本次轮询的结果返回余票数做的对比,实际测试过程中发现余票在不断减少,后来修改为以postman的结果作为初始值,然后每次有变化邮件通知,并将本次结果保存起来,后续每次与当次结果比对。
领取专属 10元无门槛券
私享最新 技术干货