基于php的苏州实时公交/地铁接口调用代码实例
程序员文章站
2024-01-18 15:18:28
...
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; }
上一篇: 有关嗅探器的文章推荐