php代码
// +----------------------------------------------------------------------
//----------------------------------
// 苏州实时公交/地铁调用示例代码 - 聚合数据
// 在线接口文档:http://www.juhe.cn/docs/31
//----------------------------------
header('content-type:text/html;charset=utf-8');
//配置您申请的appkey
$appkey = "*********************";
//************1.站台(编码)查询************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
"station" => "",//需要查询的站台,如:纳米
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************2.根据站台查询公交状态************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
"stationcode" => "",//站台的编码,在查询站台时有返回
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************3.线路(编码)查询************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
"bus" => "",//线路名称或关键字,如11
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************4.根据线路编码查询详细信息************
$url = "http://apis.juhe.cn/szbusline/bus";
$params = array(
"busline" => "",//需要查询的线路编码,在查询线路时有返回
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************5.公交(路线)详情************
$url = "http://apis.juhe.cn/szbusline/info";
$params = array(
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************6.地铁始发站时刻************
$url = "http://apis.juhe.cn/szbusline/subwaytime";
$params = array(
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************7.地铁线路实时详细信息************
$url = "http://apis.juhe.cn/szbusline/subwayline";
$params = array(
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
"line_id" => "",//地铁线路编号
"lng" => "",//经度
"lat" => "",//纬度
"order" => "",//线路方向(参考值: 1-正方向,2-反方向,默认为1)
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************8.地铁站台列车到站时刻表************
$url = "http://apis.juhe.cn/szbusline/subwaystation";
$params = array(
"dtype" => "",//返回数据格式:json或xml,默认json
"key" => $appkey,//你申请的key
"line_id" => "",//地铁线路编号
"station_id" => "",//地铁站台编号
"order" => "",//线路方向(参考值: 1-上行,2-下行,默认为1)
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
/**
* 请求接口返回内容
* @param string $url [请求的url地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用post形式]
* @return string
*/
function juhecurl($url,$params=false,$ispost=0){
$httpinfo = array();
$ch = curl_init();
curl_setopt( $ch, curlopt_http_version , curl_http_version_1_1 );
curl_setopt( $ch, curlopt_useragent , 'juhedata' );
curl_setopt( $ch, curlopt_connecttimeout , 60 );
curl_setopt( $ch, curlopt_timeout , 60);
curl_setopt( $ch, curlopt_returntransfer , true );
curl_setopt($ch, curlopt_followlocation, true);
if( $ispost )
{
curl_setopt( $ch , curlopt_post , true );
curl_setopt( $ch , curlopt_postfields , $params );
curl_setopt( $ch , curlopt_url , $url );
}
else
{
if($params){
curl_setopt( $ch , curlopt_url , $url.'?'.$params );
}else{
curl_setopt( $ch , curlopt_url , $url);
}
}
$response = curl_exec( $ch );
if ($response === false) {
//echo "curl error: " . curl_error($ch);
return false;
}
$httpcode = curl_getinfo( $ch , curlinfo_http_code );
$httpinfo = array_merge( $httpinfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}