Php-based php code for calling the Suzhou real-time bus/subway interface
// + Samples // ---------------------------------- // sample code of Suzhou real-time bus/subway call-aggregate data // online interface documentation: http://www.juhe.cn/docs/31//---------------------------------- Header ('content-type: text/html; charset = utf-8 '); // Configure Your applied appkey $ appkey = "*********************"; // ************* 1. platform (encoding) query ************ $ url =" http://apis.juhe.cn/szbusline/bus "; $ Params = array (" station "=>" ", // the platform to be queried, for example, Nano" dtype "=>" ", // the returned data format: json or xml, the default json "key" => $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // *************** 2. query bus status by station ************ $ url =" http://apis.juhe.cn/szbusline/bus "; $ Params = array (" stationCode "=>" ", // platform encoding. when querying the platform," dtype "=>" "is returned. // the returned data format is: json or xml, the default json "key" => $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // *************** 3. line (encoding) query ************ $ url =" http://apis.juhe.cn/szbusline/bus "; $ Params = array (" bus "=>" ", // Line name or keyword, such as 11" dtype "=>" ", // return data format: json or xml, the default json "key" => $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // *************** 4. query details by line encoding ************* $ url =" http://apis.juhe.cn/szbusline/bus "; $ Params = array (" busline "=>" ", // line code to be queried." dtype "=> "", // return data format: json or xml. the default value is json "key" => $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // **************** 5. bus (route) details ************ $ url =" http://apis.juhe.cn/szbusline/info "; $ Params = array (" dtype "=>" ", // the returned data format is json or xml. the default format is json" key "=> $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // *************** 6. subway station departure time ************* $ url =" http://apis.juhe.cn/szbusline/subwaytime "; $ Params = array (" dtype "=>" ", // the returned data format is json or xml. the default format is json" key "=> $ appkey, // The key you applied for); $ 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 "request failed ";} //************************************** * *********** // *************** 7. real-Time subway line details ************ $ url =" http://apis.juhe.cn/szbusline/subwayline "; $ Params = array (" dtype "=>" ", // the returned data format is json or xml. the default format is json" key "=> $ appkey, // key "line_id" => "", // metro line no. "lng" => "", // longitude "lat" => "", // latitude "order" => "", // line direction (reference value: 1-positive direction, 2-backward direction, default value: 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 "request failed ";} //************************************** * *********** // *************** 8. subway station train arrival timetable ************ $ url =" http://apis.juhe.cn/szbusline/subwaystation "; $ Params = array (" dtype "=>" ", // the returned data format is json or xml. the default format is json" key "=> $ appkey, // key "line_id" => "", // metro line no. "station_id" => "", // Subway Station No. "order" => "", // line direction (reference value: 1-Uplink, 2-downlink, default value: 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']. ":". $ r Esult ['reason '] ;}} else {echo "request failed ";} //************************************** * ***********/***** request interface returned content * @ param string $ url [requested URL] * @ param string $ params [request parameter] * @ param int $ ipost [whether to use the POST form] * @ 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, CURLO PT_USERAGENT, 'juhedata'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt ($ ch, CURLOPT_TIMEOUT, 60); curl_setopt ($ ch, success, 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_setop T ($ 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 ;}