ShowAPI,自营为主的数据交易市场
立即注册

火车余票票价、时刻表、正晚点查询

提供者: huisousuo 免费使用

火车票余票票价信息、时刻表信息、正晚点信息查询。

浏览量:1267

调用量:93266

使用人数:13655

点赞:84

申请使用 查看演示
文档 授权签名(重要) 联系信息 价格一览表 接口演示
接入点列表
列车时刻表查询
火车余票、票价信息查询
列车正晚点查询
列车正晚点查询-按站名
资源列表
·SDK及代码示例
规则中心
·名词解释
·常见问题

请求URL地址

http://route.showapi.com/832-2
注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。

请求参数

HTTP协议,仅支持GET方法。
非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。
1.系统级参数(所有接入点都需要的参数):+点此展开
2.应用级参数(每个接入点有自己的参数):
参数名称 类型 默认值 示例值 必须 描述
train_num String default G141 待查询车次

返回参数

以JSON格式返回结果。
1.系统级参数(所有接入点都会返回的参数):+点此展开
2.应用级参数(系统级输出参数showapi_res_body字段中的json数据结构):
名称 类型 示例值 描述
error_code String 000 错误信息: 000:成功 001:无参数 002:车次信息无效
basic String K123/K122 上海南-十堰 (快速) 车次基本信息
time_all String 21小时 历时时长
start_station String 上海南 始发站
end_station String 十堰 终到站
start_time String 13:54 发车时间
end_time String 10:54 终到时间
train_type String 快速 车次类型
data String 车次到站信息组
  • 请求实例
  • java_sdk
  • 纯java
  • curl
  • php
  • android
  • python
String res=new ShowApiRequest("http://route.showapi.com/832-2","my_appId","my_appSecret")
           .addTextPara("train_num","G141")
           .post();
System.out.println(res);

                  public static void main(String path[]) throws Exception {
									URL u=new URL("http://route.showapi.com/832-2?showapi_appid=myappid&train_num=&showapi_sign=mysecret");
									InputStream in=u.openStream();
									ByteArrayOutputStream out=new ByteArrayOutputStream();
									try {
										byte buf[]=new byte[1024];
										int read = 0;
										while ((read = in.read(buf)) > 0) {
											out.write(buf, 0, read);
										}
									}  finally {
										if (in != null) {
											in.close();
										}
									}
									byte b[]=out.toByteArray( );
									System.out.println(new String(b,"utf-8"));
							}
						 
						
						//字段值为中文、空格、特殊符号的地方需要做urlencode,编码为utf-8。用js的方式就是:
						//encodeURIComponent('中文')
						//比如"中文"转换后就是%25E4%25B8%25AD%25E6%2596%2587
            curl   "http://route.showapi.com/832-2?showapi_appid=123&showapi_sign=use_my_sign&train_num=G141&"
						
						 //md5签名方式--非简单签名
               			<?php
							header("Content-Type:text/html;charset=UTF-8");
							date_default_timezone_set("PRC");
							$showapi_appid = 'xxxxxx';  //替换此值,在官网的"我的应用"中找到相关值
							$showapi_secret = 'xxxxxxxxx';  //替换此值,在官网的"我的应用"中找到相关值 
							$paramArr = array(
							     'showapi_appid'=> $showapi_appid,
								 'train_num'=> ""
							     //添加其他参数
							);
							
							//创建参数(包括签名的处理)
							function createParam ($paramArr,$showapi_secret) {
							     $paraStr = "";
							     $signStr = "";
							     ksort($paramArr);
							     foreach ($paramArr as $key => $val) {
							         if ($key != '' && $val != '') {
							             $signStr .= $key.$val;
							             $paraStr .= $key.'='.urlencode($val).'&';
							         }
							     }
							     $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
							     $sign = strtolower(md5($signStr));
							     $paraStr .= 'showapi_sign='.$sign;//将md5后的值作为参数,便于服务器的效验
							     echo "排好序的参数:".$signStr."
\r\n"; return $paraStr; } $param = createParam($paramArr,$showapi_secret); $url = 'http://route.showapi.com/832-2?'.$param; echo "请求的url:".$url."
\r\n"; $result = file_get_contents($url); echo "返回的json数据:
\r\n"; print $result.'
\r\n'; $result = json_decode($result); echo "
\r\n取出showapi_res_code的值:
\r\n"; print_r($result->showapi_res_code); echo "
\r\n"; ?>
						//以下代码为纯java实现,并未依赖第三方框架,具体传入参数请参看接口描述详情页.
						protected Handler mHandler =  new Handler();
						protected void onCreate(Bundle savedInstanceState) {
								super.onCreate(savedInstanceState);
								setContentView(R.layout.activity_main);
								final TextView txt = (TextView) this.findViewById(R.id.textView1);
								Button myBtn = (Button) this.findViewById(R.id.button1);
								myBtn.setOnClickListener(new OnClickListener() {
									public void onClick(View v) {
										new Thread(){
											//在新线程中发送网络请求
											public void run() {
												String appid="xxx";//要替换成自己的
												String secret="xxxxxxx";//要替换成自己的
												final String res=new ShowApiRequest( "http://route.showapi.com/832-2", appid, secret)
                    .addTextPara("train_num", "")
            .post();
												
												System.out.println(res);
												//把返回内容通过handler对象更新到界面
												mHandler.post(new Thread(){
													public void run() {
														txt.setText(res+"  "+new Date());
													}
												});
											}
										}.start();
										
										
									}
								});
						}

						
#python3.5
from urllib import    request, parse
import json

print('send data....')
showapi_appid="xxxxxxxxxx"  #替换此值
showapi_sign="xxxxxxxxxx"   #替换此值
url="http://route.showapi.com/832-2"
send_data = parse.urlencode([
    ('showapi_appid', showapi_appid)
    ,('showapi_sign', showapi_sign)
                    ,('train_num', "")
    
  ])

req = request.Request(url)
try:
       response = request.urlopen(req, data=send_data.encode('utf-8'), timeout = 10) # 10秒超时反馈
except Exception as e:
    print(e)
result = response.read().decode('utf-8')
result_json = json.loads(result)
print ('result_json data is:', result_json)

						

返回实例

{
	"showapi_res_code": 0,
	"showapi_res_error": "",
	"showapi_res_body": {
		"error_code": "000",
		"basic": "K123/K122 上海南-十堰 (快速)",
		"time_all": "21小时",
		"start_station": "上海南",
		"end_station": "十堰",
		"start_time": "13:54",
		"end_time": "10:54",
		"train_type": "快速",
		"data": "        {
            [0] => Array
                {
                    [num] => 1
                    [station_name] => 上海南
                    [arrive_time] => -
                    [leave_time] => 13:54
                    [lishi] => 
                }

            [1] => Array
                {
                    [num] => 2
                    [station_name] => 嘉兴
                    [arrive_time] => 14:40
                    [leave_time] => 14:44
                    [lishi] => 46分
                }

            [2] => Array
                {
                    [num] => 3
                    [station_name] => 海宁
                    [arrive_time] => 15:06
                    [leave_time] => 15:10
                    [lishi] => 1小时12分
                }

            [3] => Array
                {
                    [num] => 4
                    [station_name] => 杭州东
                    [arrive_time] => 15:53
                    [leave_time] => 15:59
                    [lishi] => 1小时59分
                }

            [4] => Array
                {
                    [num] => 5
                    [station_name] => 义乌
                    [arrive_time] => 17:38
                    [leave_time] => 17:43
                    [lishi] => 3小时44分
                }

            [5] => Array
                {
                    [num] => 6
                    [station_name] => 金华西
                    [arrive_time] => 18:30
                    [leave_time] => 18:38
                    [lishi] => 4小时36分
                }

            [6] => Array
                {
                    [num] => 7
                    [station_name] => 衢州
                    [arrive_time] => 19:37
                    [leave_time] => 19:49
                    [lishi] => 5小时43分
                }

            [7] => Array
                {
                    [num] => 8
                    [station_name] => 上饶
                    [arrive_time] => 21:06
                    [leave_time] => 21:10
                    [lishi] => 7小时12分
                }

            [8] => Array
                {
                    [num] => 9
                    [station_name] => 鹰潭
                    [arrive_time] => 22:21
                    [leave_time] => 22:29
                    [lishi] => 8小时27分
                }

            [9] => Array
                {
                    [num] => 10
                    [station_name] => 南昌
                    [arrive_time] => 00:34
                    [leave_time] => 00:50
                    [lishi] => 10小时40分
                }

            [10] => Array
                {
                    [num] => 11
                    [station_name] => 阳新
                    [arrive_time] => 02:51
                    [leave_time] => 02:53
                    [lishi] => 12小时57分
                }

            [11] => Array
                {
                    [num] => 12
                    [station_name] => 鄂州
                    [arrive_time] => 03:36
                    [leave_time] => 03:38
                    [lishi] => 13小时42分
                }

            [12] => Array
                {
                    [num] => 13
                    [station_name] => 武昌
                    [arrive_time] => 04:44
                    [leave_time] => 05:03
                    [lishi] => 14小时50分
                }

            [13] => Array
                {
                    [num] => 14
                    [station_name] => 随州
                    [arrive_time] => 06:55
                    [leave_time] => 06:58
                    [lishi] => 17小时1分
                }

            [14] => Array
                {
                    [num] => 15
                    [station_name] => 枣阳
                    [arrive_time] => 07:46
                    [leave_time] => 07:48
                    [lishi] => 17小时52分
                }

            [15] => Array
                {
                    [num] => 16
                    [station_name] => 襄阳
                    [arrive_time] => 08:31
                    [leave_time] => 08:50
                    [lishi] => 18小时37分
                }

            [16] => Array
                {
                    [num] => 17
                    [station_name] => 谷城
                    [arrive_time] => 09:43
                    [leave_time] => 09:45
                    [lishi] => 19小时49分
                }

            [17] => Array
                {
                    [num] => 18
                    [station_name] => 武当山
                    [arrive_time] => 10:33
                    [leave_time] => 10:35
                    [lishi] => 20小时39分
                }

            [18] => Array
                {
                    [num] => 19
                    [station_name] => 十堰
                    [arrive_time] => 10:54
                    [leave_time] => -
                    [lishi] => 21小时
                }

        }"
	}
}




请求地址 请求参数 返回参数 请求示例 返回示例
接入点列表
列车时刻表查询
火车余票、票价信息查询
列车正晚点查询
列车正晚点查询-按站名
  • 免费套餐(列车时刻表查询)

免费套餐_无认证版

0时间:1年

  • 30次每天
  • 1次/秒调用频率
  •  
  •  
点此订购

免费套餐_基本认证版

0时间:1年

  • 30次每天
  • 2次/秒调用频率
  • 邮箱认证 要求
  • 手机认证 要求
点此订购
  • 即充即用流量包(列车时刻表查询)

10元1000次

10 时间:1年

  • 1000次调用
  • 不限调用频率
订购套餐

30元3500次

30 时间:1年

  • 3500次调用
  • 不限调用频率
订购套餐
  • 包月套餐(列车时刻表查询)

包月套餐

50 时间:包月(30天)

  • 200次每天
  • 2次/秒调用频率
订购套餐