未标题-2

突破12306抢票原理实现

看此文章之前请先查看这个地址:https://kyfw.12306.cn/otn/leftTicket/queryT?leftTicketDTO.train_date=2015-01-01&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULTdate后面的时间跟据查看此文章的时间而定。要多刷新几次,让浏览器获取到12306的缓存信息。(注:12306的地址会随时更新,请以最新地址为准,接下来请看如何获取API

如何查看API地址:

打开https://kyfw.12306.cn/otn/lcxxcx/init(个人习惯先打开调试工具),输入好地址过后,点击查询

20141217094650

下面有一长串HTTPS开头的地址Bingo…..这就是它的API地址,打开它看看如下图:

未标题-2

但是铁路局的工程师们也不傻,做了些限制,如果直接用程序去获取URL当中数据是不行的。

目前正在研究如何突破它的限制获取到这里面的数据,到现在我才知道为什么浏览器厂商能够写抢票插件,个人分析最重要的原因是这个API地址必须要浏览器打开才行,想要获取里面的数据,浏览器只需要在进程里面“模拟”打开一个页面,只不过是让用户无法看到而已。但是数据是真实存在的,再通过浏览器自身的功能,将数据发送到抢票程序,如此简单而已,如果会开发浏览器,就是很简单的事情,但是作为普通程序员,想要实现这个功能就不太简单了

发表评论


昵称

沙发空缺中,还不快抢~