更多资料请参考:www.woyaocha.net/product/trip2019ncov

手机查询链接(已开发好的):www.woyaocha.net/trip2019ncov

接口使用

我要查询

提示:请在下面的 Demo 中输入您要查询的数据,点击查询即可;车次/航班/车牌号、始发站/终点站/地区及同城日期输入一项即可查询。当记录数比较多时,仅展现最新的 50 条数据。

查询说明

目前支持火车/航班/客运班车的同程查询,可查询始发站、途经站、终点站地区。防疫期间,数据更新每天更新3-5次。

接口描述

功能描述

获取与武汉新型冠状病毒感染的肺炎换车同程信息,如:乘车日期、车次/航班/车牌号、始发站、终点站(包含途径地区)、详情等信息。

URL 示例

1)http 协议:

POST 方式请求:

Copy

http://cha.ebaitian.cn/api/json?appid=xxx&module=getTrpi2019ncov&tripno=xxx&triparea=xxx&tripdate=xxx&sign=xxx

GET 方式请求:

Copy

http://cha.ebaitian.cn/api/json?type=get&appid=xxx&module=getTrpi2019ncov&tripno=xxx&triparea=xxx&tripdate=xxx&sign=xxx

2)https 协议:

POST 方式请求:

Copy

https://cha.ebaitian.cn/api/json?appid=xxx&module=getTrpi2019ncov&tripno=xxx&triparea=xxx&tripdate=xxx&sign=xxx

GET 方式请求:

Copy

https://cha.ebaitian.cn/api/json?type=get&appid=xxx&module=getTrpi2019ncov&tripno=xxx&triparea=xxx&tripdate=xxx&sign=xxx

请求参数

数据包体

Copy

{"type": "get","appid": "1000xxxx","module": "getTrpi2019ncov","tripno": "K4094","triparea": "北京","tripdate": "2020/1/16","sign": "ecab4881ee80ad3d76bb1da68387428ca752eb885e52621a3129dcf4d9bc4fd4"
}

参数说明

参数 必选 类型 描述
type string 授权接口的请求方式
appid string 授权接口的 AppID,请填写您在我要查官网上申请到的 AppID
module string 目标请求的数据模块,查询肺炎疫情同程为:getTrpi2019ncov
tripno string 目标要查询的车次/航班/车牌号
triparea string 目标要查询的始发站/终点站/地区
tripdate string 目标要查询的同程日期
sign string 请求凭证,具体计算方式见下面的其他说明

其他说明

1)type:可选值 get,如果赋值 get,则以 get 方式提交数据;默认以 post 方式提交数据;
2)sign:签名校验,根据公式 $sign=sha256(appid=$appid&module=getTrpi2019ncov&tripno=$tripno&triparea=$triparea&tripdate=$tripdate&appkey=$appkey) 生成;其中:appkey 为授权接口的 AppKey,请填写您在我要查官网上申请到的 AppKey 。
2)参数 tripno/triparea/tripdate 三者选择其一传入即可。

构造伪代码如下:

Copy

string type = "get"; //请求方式,可以赋值为:post
string appid = "1000xxxx"; //sdkappid 对应的 appid,需要业务方高度保密
string module = "getTrpi2019ncov"; //请求的数据模块,此处赋值:getTrpi2019ncov
string tripno = "K4094"; //要查询的车次/航班/车牌号
string triparea = "北京"; //要查询的始发站/终点站/地区
string tripdate = "2020/1/16"; //要查询的同程日期
string sign = sha256(appid=1000xxxx&module=getTrpi2019ncov&module=getTrpi2019ncov&tripno=K4094&triparea=北京&tripdate=2020/1/16&appkey=56cf61af4b7897e704f67deb88ae8f24);

响应参数

数据包体

Copy

{"result":1,"description":"TRUE","flag":"","trip2019ncovInfo":{"data":[{"tripdate":"2020/1/16","tripno":"K4094","depstation":"武穴","terminus":"北京","dataurl":"https://mp.weixin.qq.com/s/f2DB2Ig3XdDqHvSuus6BoQ"}]}
}

参数说明

参数 必选 类型 描述
result string 接口响应结果:0-失败;1-成功
description string 接口响应描述:一般为 TURE(result=1) 与 FALSE(result=0),或者返回错误信息
flag string 错误说明,没有错误则返回空
trip2019ncovInfo object 返回同程信息

trip2019ncovInfo 参数说明:

参数 必选 类型 描述
data object 查询结果数据集合

data 参数说明:

参数 必选 类型 描述
tripdate string 日期
tripno string 车次/航班/车牌号
depstation string 始发站
terminus string 终点站
dataurl string 同城信息数据采集来源,或同城信息详情链接地址

SDK 及代码示例

PHP SDK

方法一:以 POST 方式请求数据

Copy

//接口参数
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';//函数,以POST方式提交数据,PHP需要开启CURL函数;数据传输安全,建议使用
function getTrpi2019ncov($tripno,$triparea,$tripdate){global $api_url,$api_appid,$api_appkey;$posturl=$api_url;$data='appid='.$api_appid.'&module=getTrpi2019ncov&tripno='.$tripno.'&triparea='.$triparea.'&tripdate='.$tripdate;$sign=hash("sha256",$data.'&appkey='.$api_appkey);$postdata=array("appid"=>$api_appid,"appkey"=>$api_appkey,"module"=>"getTrpi2019ncov","tripno"=>$tripno,"triparea"=>$triparea,"tripdate"=>$tripdate,'sign'=>$sign);$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $posturl);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);$output = curl_exec($curl);curl_close($curl);$obj=json_decode($output);$result=$obj->result;if($result==1){$value=$obj->trip2019ncovInfo->data;}else{$value=$obj->flag;}return $value;
}
//调用函数
$tripno='K4094';
$triparea='';
$tripdate='';
echo getTrpi2019ncov($tripno,$triparea,$tripdate);
exit;

方法二:以 GET 方式请求数据

Copy

//接口参数
$api_url='http://cha.ebaitian.cn/api/json';
$api_appid='1000xxxx';
$api_appkey='56cf61af4b7897e704f67deb88ae8f24';//函数,以GET方式提交数据
function getTrpi2019ncov($tripno,$triparea,$tripdate){global $api_url,$api_appid,$api_appkey;$data='appid='.$api_appid.'&module=getTrpi2019ncov&tripno='.$tripno.'&triparea='.$triparea.'&tripdate='.$tripdate;$sign=hash("sha256",$data.'&appkey='.$api_appkey);$info_get=file_get_contents($api_url.'?type=get&'.$data.'&sign='.$sign);$info_json=json_decode($info_get, true);$result=$info_json['result'];if($result==1){$value=$info_json['trip2019ncovInfo']['data'];}else{$value=$info_json['flag'];}return $value;
}
//调用函数
$tripno='K4094';
$triparea='';
$tripdate='';
echo getTrpi2019ncov($tripno,$triparea,$tripdate);
exit;

Java SDK

Copy

//以下示例是以 GET 方式请求数据
public class QueryHelper {public static String apiurl="http://cha.ebaitian.cn/api/json";public static String appid="1000xxxx";public static String appkey="56cf61af4b7897e704f67deb88ae8f24";public static String module="getTrpi2019ncov";public static String getSHA256Str(String str){MessageDigest messageDigest;String encdeStr = "";try {messageDigest = MessageDigest.getInstance("SHA-256");byte[] hash = messageDigest.digest(str.getBytes("UTF-8"));encdeStr = Hex.encodeHexString(hash);} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}return encdeStr;}public static String get(String urlString) {try {URL url = new URL(urlString);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5 * 1000);conn.setReadTimeout(5 * 1000);conn.setDoInput(true);conn.setDoOutput(true);conn.setUseCaches(false);conn.setInstanceFollowRedirects(false);conn.setRequestMethod("GET"); int responseCode = conn.getResponseCode();if (responseCode == 200) {StringBuilder builder = new StringBuilder();BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));for (String s = br.readLine(); s != null; s = br.readLine()) {builder.append(s);}br.close();return builder.toString();}} catch (IOException e) {e.printStackTrace();}return null;}public static String queryTrpi2019ncov(String tripno, String triparea, String tripdate){String sign=getSHA256Str("appid="+appid+"&module="+module+"&tripno="+tripno+"&triparea="+triparea+"&tripdate="+tripdate+"&appkey="+appkey);String url=apiurl+"?type=get&appid="+appid+"&module="+module+"&tripno="+tripno+"&triparea="+triparea+"&tripdate="+tripdate+"&sign="+sign;return get(url);}
}//使用示例
QueryHelper.queryTrpi2019ncov('K4094','','');

Python SDK

Copy

#!/usr/bin/python
# -*- coding: utf-8 -*-
import httplib2
import hashlib
from urllib.parse import urlencode #python3
#from urllib import urlencode #python2apiurl='http://cha.ebaitian.cn/api/json'
appid='1000xxxx'
appkey='56cf61af4b7897e704f67deb88ae8f24'
module='getTrpi2019ncov'
tripno='K4094'
triparea=''
tripdate=''
data='appid='+appid+'&module='+module+'&tripno='+tripno+'&triparea='+triparea+'&tripdate='+tripdate
sign_data=data+'&appkey='+appkey# from Crypto.Cipher import AES
# from Crypto.Hash import SHA256
# 256
hash_256 = hashlib.sha256()
hash_256.update(sign_data.encode('utf-8'))
sign = hash_256.hexdigest()postdata = urlencode({'appid':appid,'module':module,'tripno':tripno,'triparea':triparea,'tripdate':tripdate,'sign':sign})
url = apiurl+'?'+postdata
http = httplib2.Http()
response, content = http.request(url,'GET')
print(content.decode("utf-8"))

Node.js SDK

方法一:以 POST 方式请求数据

Copy

//以 POST 方式提交
var http = require('http');  var querystring = require('querystring');  //参数设置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getTrpi2019ncov';//目标查询车次/航班/车牌号
var tripno='K4094';//目标查询始发站/终点站/地区
var triparea='';//目标要查询同程日期
var tripdate='';//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&tripno='+tripno+'&triparea='+triparea+'&tripdate='+tripdate+'&appkey='+appkey);//这是需要提交的数据
var post_data = {appid: appid,  module: module,tripno: tripno,triparea: triparea,tripdate: tripdate,sign: sign
};  var content = querystring.stringify(post_data);  var options = {  hostname: 'cha.ebaitian.cn',  port: 80,  path: '/api/json',  method: 'POST',  headers: {  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'  }
};  var req = http.request(options, function (res) {  console.log('STATUS: ' + res.statusCode);  console.log('HEADERS: ' + JSON.stringify(res.headers));  res.setEncoding('utf8');  res.on('data', function (chunk) {  console.log('BODY: ' + chunk);  //JSON.parse(chunk)});
});  req.on('error', function (e) {  console.log('problem with request: ' + e.message);
});  // write data to request body
req.write(content);  req.end();

方法二:以 GET 方式请求数据

Copy

//以 GET 方式提交
var http = require('http');  var querystring = require('querystring');  //参数设置
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getTrpi2019ncov';//目标查询车次/航班/车牌号
var tripno='K4094';//目标查询始发站/终点站/地区
var triparea='';//目标要查询同程日期
var tripdate='';//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&tripno='+tripno+'&triparea='+triparea+'&tripdate='+tripdate+'&appkey='+appkey);//这是需要提交的数据
var data = {appid: appid, module: module,tripno: tripno,triparea: triparea,tripdate: tripdate,sign: sign
};var content = querystring.stringify(data);  var options = {  hostname: 'cha.ebaitian.cn',  port: 80,  path: '/api/json?' + content,  method: 'GET'
};  var req = http.request(options, function (res) {  console.log('STATUS: ' + res.statusCode);  console.log('HEADERS: ' + JSON.stringify(res.headers));  res.setEncoding('utf8');  res.on('data', function (chunk) {  console.log('BODY: ' + chunk);});
});  req.on('error', function (e) {  console.log('problem with request: ' + e.message);
});  req.end();

C# SDK

Copy

using System;
using System.Collections.Generic;
using System.Web;
using System.Net;
using System.Text;public class gettrip2019ncovInfo{public static string getInfo(string appid, string appkey, string module, string tripno, string triparea, string tripdate){string url = string.Format("http://cha.ebaitian.cn/api/json?type=get&appid={0}&module={1}&tripno={2}&triparea={3}&tripdate={4}&sgin={5}", appid, module, tripno, triparea, tripdate, sgin);using (WebClient client = new WebClient()){client.Encoding = Encoding.UTF8;return client.DownloadString(url);}}
}string trip2019ncovInfo = gettrip2019ncovInfo.getInfo("1000xxxx", "getTrpi2019ncov", "K4094", "", "", "ecab4881ee80ad3d76bb1da68387428ca752eb885e52621a3129dcf4d9bc4fd4", Request.UserHostAddress);
Console.WriteLine(trip2019ncovInfo);
Response.Write(trip2019ncovInfo);

JavaScript SDK

方法一:以 POST 方式请求数据

Copy

//使用 JQuery 请先加载最新的 JQuery 插件
//参数设置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getTrpi2019ncov';//目标查询车次/航班/车牌号
var tripno='K4094';//目标查询始发站/终点站/地区
var triparea='';//目标要查询同程日期
var tripdate='';//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&tripno='+tripno+'&triparea='+triparea+'&tripdate='+tripdate+'&appkey='+appkey);//提交数据
$.ajax({url:apiurl,type:'post',dataType:'json',data:{appid:appid,module:module,tripno: tripno,triparea: triparea,tripdate: tripdate,sign:sign},success:function(res){console.log(res);}
});

方法二:以 GET 方式请求数据

Copy

//使用 JQuery 请先加载最新的 JQuery 插件
//参数设置
var apiurl = 'http://cha.ebaitian.cn/api/json';
var appid = '1000xxxx';
var appkey = '56cf61af4b7897e704f67deb88ae8f24';
var module = 'getTrpi2019ncov';//目标查询车次/航班/车牌号
var tripno='K4094';//目标查询始发站/终点站/地区
var triparea='';//目标要查询同程日期
var tripdate='';//签名,SHA256 不可直接调用;函数参考下载地址:https://github.com/alexweber/jquery.sha256
var sign = SHA256('appid='+appid+'&module='+module+'&tripno='+tripno+'&triparea='+triparea+'&tripdate='+tripdate+'&appkey='+appkey);//提交数据
$.ajax({url:apiurl,type:'post',dataType:'json',data:{appid:appid,module:module,tripno: tripno,triparea: triparea,tripdate: tripdate,sign:sign},success:function(res){console.log(res);}
});

ASP SDK

Copy

'设置参数
dim apiurl, appid, appkey, module, tripno, triparea, tripdate, sign
apiurl="http://cha.ebaitian.cn/api/json"
appid="1000xxxx'
appkey="56cf61af4b7897e704f67deb88ae8f24"
module="getTrpi2019ncov"
tripno="K4094"
triparea=""
tripdate=""'签名,SHA256 不可直接调用;函数参考地址:https://blog.csdn.net/yesoce/article/details/128546
sgin=SHA256("appid=&appid&"&module="&module&"&tripno="&tripno&"&triparea="&triparea&"&tripdate="&tripdate&"&appkey="&appkey)'异步提交数据
function PostHTTPPage(url,data)dim Http set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")Http.open "POST",url,falseHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"Http.send(data) if Http.readystate<>4 then exit function End ifPostHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")set http=nothing if err.number<>0 then err.Clear
End function'提交数据
dim postdata, strTest
postdata="appid=&appid&"&module="&module&"&tripno="&tripno&"&triparea="&triparea&"&tripdate="&tripdate&"&sign="&sign
strTest=PostHTTPPage(apiurl,postdata)'返回结果
response.write(strTest)
response.end

常见问题

API 接口参数为空

此错误返回 JSON 数据如下:

Copy

{"result":0,"description":"API接口参数为空","flag":"appid:sign"
}

解决方法:
1)请检查 appid 及 sign 是否为空;
2)确保 appid 是从官网获取到正确的接口授权;
3)确保 sign 计算生成是正确的。

API 接口参数无效

此错误返回 JSON 数据如下:

Copy

{"result":0,"description":"API接口参数无效","flag":"appid"
}

解决方法:
1)请检查 appid 是否正确;
2)确保 appid 是从官网获取到正确的接口授权。

API 接口授权已到期

此错误返回 JSON 数据如下:

Copy

{"result":0,"description":"API接口授权已到期","flag":"end:2018-12-31 23:59:59"
}

解决方法:
1)请检查 appid 对应接口授权的期限是否过期;
2)如果接口授权过期,请到官网更新(免费用户直接更新,无需续费)或续费(针对商业付费用户)。

签名错误

此错误返回 JSON 数据如下:

Copy

{"result":0,"description":"签名错误","flag":"getTrpi2019ncov->sign"
}

解决方法:
1)请检查 sign 签名计算是否正确;
2)签名 sign 根据公式 $sign=sha256(appid=$appid&module=getTrpi2019ncov&mobile=$mobile&appkey=$appkey) 生成;其中:appkey 为授权接口的 AppKey,请填写您在我要查官网上申请到的 AppKey 。

请求受限

此错误返回 JSON 数据如下:

Copy

{"result":0,"description":"请求受限","flag":"getTrpi2019ncov->daylimit"
}

解决方法:
1)授权接口已超出当前接口产品请求的最大限制;
2)请根据实际使用需求升级您的接口产品。

2019-nCoV肺炎疫情同程查询-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口相关推荐

  1. 行政区划代码查询-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口

    更多资料请参考:www.woyaocha.net/product/area 接口描述 功能描述 根据行政区划代码获取行政区划名称,或者根据行政区划名称获取行政区划代码. URL 示例 1)http 协 ...

  2. POS 商户编号查询-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口

    更多资料请参考:www.woyaocha.net/product/posmcc 接口描述 功能描述 通过商户编号获取中国大陆地区所有线下收单机构的商户信息,如:收单机构.MCC编码类别.适用费率及商户 ...

  3. 快递查询(快递单号智能识别/快递公司+快递单号)-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口

    更多资料请参考:www.woyaocha.net/product/express 查询说明 接口一:快递单号智能识别 快递单号智能识别,是根据查询的快递单号自动智能识别出该运单所属的快递公司,再获取快 ...

  4. 院校代码/高等学校查询-整提供 Demo 代码示例及数据专业且全面的 API 查询接口

    更多资料请参考:www.woyaocha.net/product/school 接口描述 功能描述 通过院校名称获取院校对应的院校代码/高等学校,或者通过院校代码/高等学校获取对应的院校名称:后期将会 ...

  5. 手机号码查询-整提供 Demo 代码示例及数据专业且全面的 API 查询接口

    更多资料请参考:www.woyaocha.net/product/mobile 接口描述 功能描述 获取手机号码段的省市区以及运营商名称,通俗的说就是获取手机号码的归属地及电信运营商名称. URL 示 ...

  6. 深圳ncov肺炎疫情分布点高德地图显示

    一.简介 如题,通过深圳市政府数据开放平台查询到的疫情分布点地址数据,批量请求高德API,将查询到坐标显示到网页地图上,先上效果(挺愕然的,本主自己的住处附近就有好几个点),如下: 二.实现工具: ( ...

  7. 让狙击肺炎疫情稳准狠?春运返程中地图大数据的N种姿态

    "经历了骚乱与惶恐,他那支颤抖的笔对安宁与和平有着深沉的渴望." 这是美国大文化历史学家雅克·巴尔赞在其著作<从黎明到衰落>一书中对大哲学家培根的描述.一句话高度浓缩了 ...

  8. db2分页查询语句优化_面试官:数据量很大,分页查询很慢,怎么优化?

    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点. 下面简单说一下我知道的一些 ...

  9. es java api 查询_es聚合查询javaapi

    查询节气详情 package net.apishop.www.controller; import import import import import import import import i ...

最新文章

  1. c# dbgrid数据导出到xlsx和ini中实例
  2. 一个代理商×××条件
  3. 用javascript自制ctf词频分析工具
  4. 我整理了100G的.Net学习资料,速来领取!
  5. 计算机组成原理试题 t4,计算机组成原理(四版)本科生试题库整理附答案
  6. QT控件出现乱码问题
  7. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍...
  8. 传输层协议(13):拥塞控制(2)
  9. 六十八个超级经典小故事
  10. 如何让语音芯片与功放芯片之间更好的配合,使得产品音效更好
  11. VMware安装VMware tools步骤
  12. 通过自定义函数计算阶乘
  13. wincc上下文不存在或无效是_wincc安装
  14. Toast的几种用法
  15. windows 用choco 安装nvm
  16. 珠海分销系统官网开发笔记:wordpress中使用canonical标签修复版
  17. 盘点2016年人工智能与深度学习领域的十大收购
  18. 他一年开发19款!款款口碑爆棚
  19. LED常见失效案例及分析
  20. zabbix添加邮件报警机制

热门文章

  1. 西门子杯企业命题”钞包分拣装箱系统”演示视频
  2. Spectral matting
  3. 计算机无法识别ipad2,iTunes无法识别iPad mini怎么办【解决方法】
  4. 将本地项目上传到码云,只需这几步,每个步骤都有图文
  5. 个人中心页面的UI设计知识点
  6. matlab演示平抛运动,几何画板动态演示平抛运动的规律
  7. 如何实现给table表头加斜线
  8. 【面试时最令职场面试官讨厌的十种行为】
  9. 获取电商网站主图和详情图的浏览器插件
  10. 怎样把ppt转换成html,如何将PPT文档转换成Flash/HTML的方法