在12306和携程抢到了同一张火车票,怎么回事?

2024-01-30 22:44

本文主要是介绍在12306和携程抢到了同一张火车票,怎么回事?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

春运抢票实录:在12306和携程上抢到了同一张火车票

再有几天就要过年了,因为众所周知的原因,所以今年的火车票特别抢手,不知道大家都抢到了嘛?

今天看到一个网友抢票的问题,跟程序这块关系很大,特别分享给大家。

这个网友同时在12306和携程上抢票,结果在12306和携程上竟然抢到了同一张票,同一车次、同一个座位,关键是钱付了两份,这真是一个好消息和一个坏消息。如下图所示,左边是携程,右边是12306。

问题原因

出现这个问题的原因是什么呢?

我们先来分析下在12306和携程买火车票的逻辑。

12306:12306就是销售火车票的官方APP,下单成功那就是真的在数据库中写入了一条订单记录,你能看到订单就代表抢票成功了,而且这个下单的过程是有事务隔离保证的或者同一车次就是排队一张张处理的,一张票不会卖给两个人。抢到票之后,抓紧时间付钱就行了。

携程:携程本身不卖火车票,所以它最多就是个代理。

  • 这个代理可能是官方授权的,不过自从能在网上买票之后,火车票代售点都关门很久了,所以携程不大可能是这种;
  • 之前还有一种是调用接口下单,不过12306已经明确不对第三方开放接口,所以这个大概率还是各个平台收到预约之后再去12306操作的;
  • 最后就是目前比较流行且靠谱的bypass抢票模式,它实际上是模拟用户的浏览器操作,只不过全都由程序代劳了,这个速度肯定比手工操作要快,所以抢到票的几率也比较高,携程应该也是用的这种方式。

怎么判断有没有抢到票呢?

根据网友的这个问题现象,我猜携程大概率是不断的刷新订单页面,如果发现有对应车次的订单,就认为已经下单成功,然后扣掉用户的款项,通知用户抢票成功。

这是一种简单的方式,也比较节省资源,不用一直保持连接或者轮询,但是就很容易出现网友遇到的这种问题。有没有更好的方式呢?当然有。

大家如果使用bypass这个工具抢票,可能会注意到它在提交订单后会在日志中显示正在排队,并一直等待12306的返回结果,要么下单成功,要么给出下单失败的原因,这是和我们在12306上抢票的体验一致的。猜测bypass应该是模拟了12306网页下单的处理方式。

这样就不会出现携程遇到的这个问题。当然这只是一种合理的猜测,具体问题原因很难确定,也许携程也是做了完整的模拟,只是出了点别的问题,比如恰巧机器重启了。

加价会有效果吗

很多抢票平台都推出了加速抢票的功能,这真的有用吗?

先说结论,有点用。

加了钱,平台可能就会给你分配更多的计算资源。比如普通用户是10个人使用同一个IP抢票,12306可能会认为这是作弊,抢票高峰期,这个IP就可能会被封掉,加了钱可能就是5个人使用同一个IP,甚至独占IP,这样被封掉的概率就低了很多。IP只是一个方面,CPU、内存、网络等资源都可以划分成不同的等级来进行分配。

不过这个性价比就很难说了。

因为你使用免费的bypass也能达到同样的效果。不过有时因为公司里太多人抢票,12306可能会封禁公司IP一段时间,解决这个问题也很简单,你完全可以使用家里的电脑抢票,或者弄个便宜的云服务器,独占资源不容易被封,也就更容易抢到票。

比如我这个阿里云抢占型实例,每个小时也就是几分钱,一天也就是一块多。

而携程这种黑盒的模式,你完全不知道它使用了多少资源来给你抢票,也许是10秒才给你请求一次,而且携程可以分配的机器和IP数量总归有限,放票的时候12306看过来的请求太多了,很可能就会把它封掉,从而错过了最佳抢票时机。后边抢到了票呢,就纯属巧合。对于抢票平台呢,在大用户基数的情况下,总会有很多用户抢到票,从而赚取一大票代理费,可以说稳赚不赔。

当然对于回家过年来说,多一种渠道总是好的,只是希望大家不要错付了期待。

怎么解决这个问题

如果已经在12306付款成功,银行流水或者支付平台显示的收款方就是12306,那么这就是你自己在12306购票成功了,其它人和平台都不会再买到同一车次的同一张票,也不会支付成功。

所以这时候就要去找抢票平台,说明你遇到的情况,让他们去确认是否真的向12306支付了这笔款项,让他们退款。抢票平台内部也会有完整的支付日志的,付没付,一查便知。

还有极少数的网友遇到12306多次扣款的情况,这个处理起来也不难,给12306打电话,提供你的付款单号和车次,让12306去调查,都能查清楚的,金钱交易都有极为严格的日志记录。


当年华如梭,又是一年归家的时节。

遥想十几年前的春节,我站在售票点外的寒风中瑟瑟发抖,也只抢到一纸站票,技术的便捷让我们抢票更佳方便,只是我们好像永远无法走出没票的困境。

火车票的一纸轻描,背后承载着无数游子的急切与期待,它们如同归巢的燕子,在寒风中追逐着温暖的春光。

但愿在这个春运的浪潮中,每一位旅人都能顺利抵达心之所向。愿每一次的技术进步,都能为人们带来更多的便利与温馨,而非困扰与迷茫。愿我们都能在这个温情融融的节日里,收获平安喜乐,团圆美满。

这篇关于在12306和携程抢到了同一张火车票,怎么回事?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/661788

相关文章

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Oracle把一个表的某个字段更新到另一张表中

第一种方法: update tablea set column_name1=(select name2 from tableb where tableb.name3=tablea.name1) 只修改一个 update tablea set column_name1=(select name2 from tableb where tableb.name3='a') where tablea.na

自动化抢票 12306

自动化抢票 12306 1. 明确需求 明确采集的网站以及数据内容 网址: https://kyfw.12306.cn/otn/leftTicket/init数据: 车次相关信息 2. 抓包分析 通过浏览器开发者工具分析对应的数据位置 打开开发者工具 F12 或鼠标右键点击检查 刷新网页 点击下一页/下滑网页页面/点击搜索/查询按钮让网页相关数据内容加载出来 (整个网站数据内容重新加载

阿里十年架构师用一张图告诉你什么是系统架构师

阿里十年架构师用一张图告诉你什么是系统架构师 Java架构解析 2018-11-03 20:54:41 这张图从架构师的综合能力、岗位认识、岗位职责等方面,清楚的画出了作为一个架构的基本准则。人人都想成为架构师,可作为架构你达到了图上面的要求了吗?   系统架构师是个神奇的岗位。为什么这么说,在一个人数不多的小公司,你可能什么都需要做,身体力行,做总监兼架构师或者是主管/高级开发兼架构

oracle存储过程Loop循环一张表插入到另外一张表

oracle存储过程Loop循环一张表插入到另外一张表   1、创建一个存储过程   Sql代码   create or replace procedure inserttest as   cursor cs is SELECT sales_id FROM t02salesinfo_backup;sales_id varchar(128);   begin   for c in c

火车票、高铁票如何开具电子发票?12306怎么查询报销凭证是否领取?

火车票、高铁票如何开具电子发票? 众所周知,目前很多消费(衣食住行)报销都是可以开具电子发票的,但火车票目前无法开具电子发票。 火车票目前只有纸质报销凭证,报销凭证与之前的车票类似,但是上面写有“仅供报销使用”,并且报销凭证只能打印一次,一旦丢失或损坏无法重新打印。 如何查询报销凭证是否取过? 1、通过12306购票平台查询 以12306APP为例,如果已经在该平台购买了车票并领取了

2024年携程大数据分析面试题及参考答案

广告投放主要运用的数据分析方法 在广告投放中,我们会综合运用多种数据分析方法,以实现精准投放和优化效果。 漏斗分析:通过分析用户在广告转化流程中的各个环节,如展示、点击、注册、购买等,找出用户流失的环节,从而针对性地进行优化。例如,我们发现从广告展示到点击的转化率较低,可能会优化广告创意和文案,提高点击率。AB 测试:对比不同广告方案的效果,确定最优方案。比如,测试不同的广告文案、图片

12306项目学习笔记(框架篇cache)

BloomFilterPenetrateProperties @ConfigurationProperties(prefix = BloomFilterPenetrateProperties.PREFIX): 指定这个类的属性会从配置文件中读取,前缀为 framework.cache.redis.bloom-filter.default。 /*** 每个元素的预期插入量*/privat

项目实训:创建一张贺卡以及一只盒子——WEB开发系列27

以下是两道关于基础 CSS 盒模型和其他盒子相关特性的练习题,适合测试对这些概念的掌握程度,通过实际的设计任务来深入理解这些概念。 练习题 1: 设计一张中秋节海报贺卡 任务描述 制作一张精美的中秋节海报贺卡,用于庆祝这个传统节日。你的目标是应用 CSS 盒模型的各种属性来创建一个视觉上吸引人的海报,包括边距(margin)、边框(border)、内边距(padding)和内容区域(co