获取123xx的车次与单价的接口(完整版)

 过去很多做聚合接口的。时间长了就不能用了。现在还有几个聚合接口。只是要收费。

有时我们只需要简单的查一下。所以还是123xx接口好一点。

1. 找到车次查询界面。

 2. chome浏览器。按F12进入调试状态。如图切换到network标签页。

  3. 点查询按钮,取接口:

地址是:域名/otn/leftTicket/query?leftTicketDTO.train_date=2023-04-01&leftTicketDTO.from_station=WEI&leftTicketDTO.to_station=EAY&purpose_codes=ADULT

 

 在data里面就是返回结果。

 

 4. 车次界面没有直接显示单价。单击车次后面的下拉时,才显示价格。抓取接口:

接口地址为:域名/otn/leftTicket/queryTicketPrice?train_no=76000D190208&from_station_no=01&to_station_no=11&seat_types=9MO&train_date=2023-04-01

后记:编程如何实现呢。请看下面的:

首先,如果直接用file_get_contents(url)会得到网站的报错。

用chome的f12调试看了。网页中读取是送入了cookie的。然后把cookie拷贝到postman中进行调试。发现它的cookie主要是一种形式主义。只要有"RAIL_DEVICEID="即可。值没有都无所谓的。当然我们说它这个cookie可能是在其他重要场合时进行校验的。不能说人家写的没水平。只是otn/leftTicket/query这个接口没有进行校验而已。

代码如下:

<?php
    // Create a stream
    $opts = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
                  "Cookie: RAIL_DEVICEID=;\r\n"
      )
    );

    $context = stream_context_create($opts);

    $url='域名/otn/leftTicket/query?leftTicketDTO.train_date=2023-04-08&leftTicketDTO.from_station=WEI&leftTicketDTO.to_station=EAY&purpose_codes=ADULT';
  
    $html= file_get_contents($url,false,$context);
 
    echo$html;
    
?>

执行如下:

其他事项:接口get参数中的站点使用的是电报码。每个车站唯一。但是如果送入站名貌似也是可以的。只是那个中文是很多相似的。要以电报码为准。所以你可以做一个资源表,用拼音首字母先让用户录入和选择具体的准确站点的电报码。再查询。这样才可以的。

最终效果预览,再优化优化就可用了。:

最后给一张完成的成品图:(上图input带小框不好看。)

这个成品图。包括吧电报码换成了中文站名,显示起点中终点站,并且用蓝色表名,它是始发站,也是我上车的站,或是我到达站也是终点站。这样心里有个数。另外颜色隔行显示这样好看一些。另外。在单击某个坐席时,用价格接口把它的票价也取出来方便录入订单的参考票价。这些加上手续费算下来是预付金额,至于购票成功后给出实际出票金额,也是结算金额。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值