不知道什么时候起,有款这样的公交 APP, 平时用来查看公交车在哪一站、大概什么时候到,着实方便了本地人的出行。今日对这款应用起了兴趣,便打算开始分析,猜想:是否能够统计各时间段下某两站之间行驶所用时间,存储并处理一周以内的数据,结合节假日信息做出较准确的时间预测,并且可以为此做一份分析报告也是挺有趣的事。

如果要我来写接口,我大概会给每个站点进行标号,在服务端计算好车辆在哪两站之间,大概进度是多少,提供这样两个数据:

StationOut 已经出的站序号
Percentage 距下一站行驶路程已驶过的百分比

来看看和我拟的样不样。使用 Fiddler 抓包,整理主要的三个 API。先做一点说明:

  1. API 中的 Addr 和 Port 等参数,是从另外的地址里头获取的,不同城市的值不同。
  2. 后来发现这些 API 是一个叫恒宇电子的公司出的智能公交调度系统的组成部分。
  3. 这些接口,以及应用界面...不敢恭维。
  4. 我怎么成了写文档的了…

获取线路列表

地址   http://<Addr:Port>/sdhyschedule/PhoneQueryAction!getLineInfo.shtml

响应(JSON)

lineCode 公交线路 ID
lineName 线路名称

JSON 格式中有一个匿名的、由一组字典组成的列表,字典中主要的有上述两对值,其他键值对均为空,未列出。

获得车辆列表

地址    http://<Addr2:Port2>/

参数

lineCode 线路编号
sxx 上下行:1. 上行 2. 下行
IMEI 客户端 IMEI 号

响应

一个 JSON 列表,包含若干个字典。字典中的键如下表:

Speed

车速(km/h)
busCode 车辆编号
cph 车牌号
flag 总为 0
isTravel 总为 2
lat 纬度(Latitude)
lineCode 线路编号
lon 经度(Longitude)

lx

2 : 正常行驶
0 : 停车
1 : 出站
passStation 剩余站数
sxx 上下行

获取线路停靠站

地址    http://<Addr>:<Port>/sdhyschedule/PhoneQueryAction!getLineStation.shtml

参数

lineCode 线路编号

响应

一个 lineList 列表,包含若干字典,字典键如下:

beginStation 始发站
endStation 终点站
lineCode 线路编号
lineName 线路名称
maxOrder 最大站序
minOrder 最小站序
stationOrder 站序,从1开始
staDis 两位浮点数,站距
sxx 上下行
lat 纬度
lon 经度

经过整理发现了接口提供的很有用的数据,现在已经可以获取站和车辆的位置,三个接口也确实能将 线路 - 车站 - 车辆 结合,但是仍然无法动态更新车与车站之间的距离。如果整条线路是直线,还可以使用经纬度配合勾股定理进行计算,但如果遇到拐弯怎么解决?暂时还没想明白。但是在抓包过程中未发现其他相关的有用的接口,看来只能从逆向分析 APP 入手了。

公交联想(一) 掌上公交 APP 接口分析相关推荐

  1. 智慧城市改变生活 “滨州掌上公交”带你从容出行

    滨州掌上公交界面截图 为了乘坐公交车方便,不用长时间等候,不少市民询问"滨州掌上公交"APP的问题:如何下载?如何使用?下面小编就来为滨州市民普及一下. 滨州掌上公交APP于201 ...

  2. 练剑炉之鬼面劫JAVA游戏_掌上公交如何设置竖向 更改站牌模式

    我们先在手机上下载掌上公交APP,下载好掌上公交APP后,我们点击并打开掌上公交APP. 我们来到掌上公交APP界面后,我们先找到查路线,站点.地点处,接着,我们点击这个查路线,站点.地点处右方的一键 ...

  3. thzbt.co forum.php,无线城市掌上公交

    无线城市掌上公交,概括而言就是手机上的实时公交电子站牌.出门旅游不知道其他城市的公交线路,这个工具还是非常不错的,实时公交数据已覆盖近百个城市,例如:厦门.杭州.福州.兰州.株洲.常州.开封.石家庄. ...

  4. 掌上公交显示服务器失败,掌上公交无响应怎么办 解决方法介绍

    现在的人出行方式非常多样,图方便的就是自驾出行,但是问题就是停车难的问题,费钱的就是打车出行,但是也存在很大的安全隐患.最提倡的出行方式就是公交出行了,既便宜又环保,但是公交出行的缺点就是等车时间长. ...

  5. 睢宁微服务平台下载_掌上睢宁app下载-掌上睢宁官方版下载v1.0-飞飞世界

    掌上睢宁是一款全新上线专门为睢宁打造的手机新闻资讯服务应用软件.掌上睢宁app上用户可以随时了解本地最新的资讯和信息,每天都有大量的新闻更新让你快速了解当地的详细情况.并且用户随时可以在平台上办理相关 ...

  6. 受“社保掌上通”APP影响 麦达数字遭深交所问询

    [TechWeb]3月18日,因和"社保掌上通"APP所属公司递金网络共同参股设立公司,深圳市麦达数字股份有限公司遭深交所问询. 深交所在发给麦达数字的问询函中表示,中央电视台&q ...

  7. matlab掌上论坛,掌上论坛APP

    掌上论坛APP是一款专为iPhone打造的一款手机论坛专用应用;聚合众多中文社区论坛,集成微博客户端,内置实时热点新闻.各大知名论坛:天涯.猫扑.中华.铁血.篱笆.宽带山.果壳.知乎...尽在其中,同 ...

  8. 招商银行掌上生活APP 7.0产品分析报告

    招商银行掌上生活APP 7.0产品分析报告 一.产品定位 掌上生活是招商银行于2010年推出的一个手机客户端应用软件.为了满足人们在3G时代对移动服务的需求布,招商银行信用卡中心开始积极布局移动市场. ...

  9. 招商银行掌上生活APP安卓版占用大量空间

    掌上生活APP后台常驻多个进程,使用了流氓软件的技术,通过多种方式守护进程,安装后即便一次都没有使用,每天耗电量也在15%到40%或更高,强制停止后,会在几分钟内重新启动进入后台,普通用户无法终止其流 ...

  10. android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码...

    2019独角兽企业重金招聘Python工程师标准>>> Android精选源码 精练的范围选择器,范围和单位可以自定义 自定义View做的小鸟游戏 android popwindow ...

最新文章

  1. 《Adobe Photoshop CC经典教程》—第1课1.2节使用工具
  2. 在EXT中向弹窗传值或者对象
  3. Coins POJ - 1742(题解)
  4. 20应用统计考研复试要点(part33)--简答题
  5. 计算机怎么录制视频教程,怎么录制视频教程?查看电脑具体录屏方法
  6. 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
  7. Hadoop--MapReduce_Hadoop序列化
  8. php 调用父类变量,PHP-通过实例化父类访问常量
  9. android uri parcel,Android ParcelFileDescriptor实现进程间通信
  10. 由通项为In(1+1\n)的级数引申...
  11. [Java] 自己写了个随机抽签器
  12. python单词表首字母排序_python3 列表排序(字母顺序排序、字母相反顺序排序和倒序)...
  13. esp8266_deauther第四篇
  14. windows下载安装ElasticSearch
  15. Linux文件禁止删除修改,Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护...
  16. 在UE5中嵌入浏览器
  17. dorado弹框方式
  18. 6-1 简单创建对象 (10分) java
  19. NLP之共指消解总结
  20. 红杉观点|生成式AI:一个创造性的新世界

热门文章

  1. 当你攒够了努力,幸运便会接踵而至【献给努力成长的自己】
  2. linux在线安装gcc
  3. 【180930】坦克大战小游戏源码
  4. ClickHouse表详解
  5. 【uni-app系列】uni-app之nvue使用
  6. vue动态绑定class的最常用几种方式
  7. 计算机基础内容——网络基础
  8. matlab画平面心形线,matlab三维心形线画法
  9. Uniapp自定义基座说明
  10. 关于一些大学课程名的中文翻译