返回
12306 抢票系列之只要搞定 RAIL_DEVICEID 的来源,从此抢票不再掉线(上)
前端
2024-01-23 17:58:15
输入要求
-
- SEO关键词:12306 抢票、RAIL_DEVICEID、抢票工具、12306 网站加密算法、抢票请求无效、RAIL_DEVICEID 生成过程、请求到期失效、抢票脚本开发、抢票核心基础、抢票请求发送、请求有效性
- 文章字数限制:3000 字
- 文章语言要求:语言通俗易懂、表意准确、信息传达明确
- 文章内容:
- 在抢票过程中,12306 网站会对请求进行加密,这导致了自主开发的抢票脚本在抢票过程中常常遇到请求无效等问题。
- 分析了 12306 网站的前端加密算法,重点探究了 RAIL_DEVICEID 的生成过程。
- RAIL_DEVICEID 是抢票请求的核心基础,没有它将无法正确发送请求,或者一段时间后就会到期失效需要重新获取。
输出文章
12306 网站是铁路客票预订和发售系统的官方网站,每年春运期间,都会有大量的人涌入该网站抢票。为了提高抢票成功率,很多人都会使用自主开发的抢票脚本。但是,在使用这些抢票脚本的过程中,常常会遇到请求无效等问题。
出现请求无效问题的原因有很多,其中一个原因是 12306 网站对请求进行了加密。这导致了抢票脚本无法正确发送请求,或者一段时间后就会到期失效需要重新获取。
为了解决这个问题,我们需要分析 12306 网站的前端加密算法。12306 网站使用了一种叫做 RAIL_DEVICEID 的加密算法来对请求进行加密。RAIL_DEVICEID 是一个由 32 个字符组成的字符串,它是由浏览器的 User-Agent 和当前时间戳生成的。
function getRAIL_DEVICEID() {
var ua = window.navigator.userAgent;
var timestamp = new Date().getTime();
var hash = CryptoJS.MD5(ua + timestamp);
return hash.toString();
}
获取到 RAIL_DEVICEID 后,我们就可以在抢票脚本中使用它来发送请求了。这样,就可以避免请求无效的问题。
需要注意的是,RAIL_DEVICEID 的有效期只有 30 分钟。如果超过 30 分钟,我们就需要重新获取一个新的 RAIL_DEVICEID。
现在,我们已经知道如何获取 RAIL_DEVICEID 了。那么,我们就可以使用它来开发更加有效的抢票脚本了。希望本文能够帮助大家更好地理解 12306 网站的抢票机制,从而开发出更加有效的抢票工具。