欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码

春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码

2023-04-15 08:29:41 收藏本文 下载本文

“有心赠你金鈚箭”通过精心收集,向本站投稿了2篇春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码,以下是小编为大家整理后的春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码,希望能够帮助到大家。

春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码

篇1:春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码

下面我们来看看12306之查询、订票的底部是如何工作的吧,具体的每一个查询我都有分析希望此文章对各位开发api的同学会带来帮助哦,

书接上回,今天我将把查询和订票的整个过程详细的介绍给大家。

一、查询余票信息

首先,我们抓下查询余票的http请求(以下图的查询为例子)

完整的http请求如下:

dynamic.12306.cn/otsweb/order/querySingleAction.do?method=queryLeftTicket&orderRequest.train_date=-10-11&orderRequest.from_station_telecode=BJP&orderRequest.to_station_telecode=WHN&orderRequest.train_no=&trainPassType=QB&trainClass=QB%23D%23Z%23T%23K%23QT%23&includeStudent=00&seatTypeAndNum=&orderRequest.start_time_str=00%3A00–24%3A00

请求的参数:

method:queryLeftTicket orderRequest.train_date:2013-10-11 orderRequest.from_station_telecode:BJP orderRequest.to_station_telecode:WHN orderRequest.train_no: trainPassType:QB trainClass:QB#D#Z#T#K#QT# includeStudent:00 seatTypeAndNum: orderRequest.start_time_str:00:00–24:00

我们看到method这个参数,从字面的意思看出来了,是查询余票的。接着orderRequest.train_date表示乘车日期,orderRequest.from_station_telecode表示出发地的简码,orderRequest.to_station_telecode表示目的地的简码,orderRequest.train_no车次编码,trainPassType表示车的路过的类型,分别是全部:QB,始发:SF,路过:LG,trainClass表示车的类型,分别是:全部:QB,D车:D,Z字头:Z,T字头:T,K字头:K,其他:QT,如果多选中间以#连接。includeStudent表示是否是包含学生票,包含为0X00,不包含为00,seatTypeAndNum席别和数量,在这一步暂时没什么用。orderRequest.start_time_str表示出发时间。

接着看这个请求响应的结果(结果太长了,就拿一条记录来分析)

0,K599,        北京西

05:20,          武昌

20:37,15:17,–,–,–,–,–,9,4,–,8,有,–,预        订

响应的结果一段字符串,上面是截取的一条记录,观察发现响应的结果是返回车次信息,每条记录以n结束。

而对于一条记录来说,是以“,”隔开的各个信息字段,对应于查询结果表格中的各个字段。

重点说下下面这个数据:

预        订

这个是当用户点击预定的时候,要向服务器发送的数据,数据是以#隔开的,这个我把它称为orderkey。

OK,当我们点击预定的时候,看下发生了哪些http请求

post:dynamic.12306.cn/otsweb/order/querySingleAction.do?method=submutOrderRequest

post的数据:

station_train_code:K599 train_date:2013-10-11 seattype_num: from_station_telecode:BXP to_station_telecode:WCN include_student:00 from_station_telecode_name:北京 to_station_telecode_name:武汉 round_train_date:2013-10-09 round_start_time_str:00:00–24:00 single_round_type:1 train_pass_type:QB train_class_arr:QB#D#Z#T#K#QT# start_time_str:00:00–24:00 lishi:15:17 train_start_time:05:20 trainno4:330000K5980K arrive_time:20:37 from_station_name:北京西 to_station_name:武昌 from_station_no:08 to_station_no:27 ypInfoDetail:1*****30364*****00091*****00083*****0004 mmStr:Qzg1NUEzMzUzQTUwQzgzQUVFRkM1MDM0MDk4QkNEMzM4QUU1OUQ0MjNEODMyNERDNENDMjY3QkY6Ojo6MTM4MTMwMTE0Mzk4OQ== locationCode:C1 OTkwNjU2OA==:YWJjYjU2NDBiOTE0MWViZQ== myversion:undefined

上面的参数我们大多数都可以通过点击预定时候的那个”orderkey”获取到,只是后面的多了一个红色标注的动态key和动态value,这个在上一面文章已经提到过怎么得到了,这里就不再多说,

返回的结果是一个302,302的地址是:

dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=init

打开这个页面,发现是选择乘客信息的和提交订单的页面。

接着我们选择乘客人,输入验证码后提交,看发生了哪些请求:

post:dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=checkOrderInfo&rand=x8t6

rand表示验证码,从method的字面意思看是检测订单信息

post数据:

如上图所示这个post的数据中,包含了乘车信息,和乘客信息。乘车信息,在上一步预定的时候都可以得到,乘客信息呢,观察得到,

dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=getpassengerJson 这个地址可以得到用户的所有乘客人信息,通过选择的乘客信息,可以构造出我们要提交的数据。

post的数据当中org.apache.struts.taglib.html.TOKEN和leftTicketStr是怎么来的呢,回头看看预定后的那个302地址,发现源码里面有这么一段

对比上面post的数据的值,这个正是我们需要的,所以,从302地址的源码我们可以得到这些值了。

看看请求的结果:

{“checkHuimd”:”Y”,”check608″:”Y”,”msg”:”",”errMsg”:”Y”}

其中checkHuimd为N的话说明:由于您取消次数过多,今日将不能继续受理您的订票请求!

check608为N的话说明:本车为实名制列车,实行一日一车一证一票制!

当上面那2个值有一个为N的话,msg将显示错误信息。

OK,如果这一步无错误信息提示,将继续查询余票信息

get:dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=getQueueCount&train_date=2013-10-11&train_no=330000K5980K&station=K599&seat=3&from=BXP&to=WCN&ticket=1015253035404275000910152500003027050004

返回的结果是:

{“countT”:0,”count”:0,”ticket”:”1*****30354*****00091*****00003*****0004″,”op_1″:false,”op_2″:false}

如果op_2为true的话表示目前排队人数已经超过余票张数,countT表示目前排队人数。

ticket表示余票信息。

如果有票的话,我们继续请求:

post:dynamic.12306.cn/otsweb/order/confirmPassengerAction.do?method=confirmSingleForQueue

post的数据和检测订单的数据大致一样,只是少了一个tFlag:dc。

响应的结果:{“errMsg”:”Y”},这就表示订单确认成功了。如果errMsg为N的话,响应的结果会出现msg信息来表示错误信息。

订单确认成功了,我们还得取检测下订单是否完成

get:dynamic.12306.cn/otsweb/order/myOrderAction.do?method=queryOrderWaitTime&tourFlag=dc

响应的结果:{“tourFlag”:”dc”,”waitTime”:-1,”waitCount”:0,”orderId”:”E493113786″,”requestId”:5793605912349971391,”count”:0}

waitTime表示排队等待的时间,如果为-1表示订单成功了,可以去付款了。orderId表示订单编号,当订单成功后这个值才会出现。

至此,整个查询,下订单的过程完成了。

最后上一张我写的查询订票的图:

篇2:支付宝余额宝收入明细查询的方法电脑新手办公/数码

余额宝是支付宝里面的一个功能,我们只要登录支付宝之后然后在【我的支付宝】――【管理】中就可以看到相关菜单,进入之后我们就可以查看宝余额的收入明细.

1、登录支付宝账户:www.alipay.com,【我的支付宝】——【管理】;

2、点击【收入】或【支出】,调整日期查询详细明细,

支付宝余额宝收入明细查询的方法电脑新手办公/数码

【春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码】相关文章:

1.春节抢票时间攻略

2.如何划分子网掩码电脑新手办公/数码

3.电脑如何设置自动关机命令电脑新手办公/数码

4.q 天字体如何设置?电脑新手办公/数码

5.SVN怎么更改登录用户帐号电脑新手办公/数码

6.笔记本电脑如何关闭Windows防火墙?(Win8)电脑新手办公/数码

7.Windows 7怎么打开注册表?进入注册表电脑新手办公/数码

8.windows7关闭自动排列窗口(窗口最大化)电脑新手办公/数码

9.Win8计算器在哪里?Win8计算器怎么打开?电脑新手办公/数码

10.如何查看外网IP地址?查看外网IP地址方法电脑新手办公/数码

下载word文档
《春节抢票攻略 玩转12306之查询、订票电脑新手办公/数码.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部