PHP調用API接口實現氣象查詢功能的示例

更新:2017-10-25    編輯:凡南    來源:用戶投稿    人氣:加載中...    字號:|

氣象預報查詢接口API,在這里我應用的是國家天氣局氣象預報接口

應用較多的還有:新浪氣象預報接口、百度氣象預報接口、google氣象接口、Yahoo氣象接口等等。

1、查詢方式

根據地名查詢各城市氣象情況

2.請求URL地址

3、接口參數說明:

一、系統級參數(所有接入點都需要的參數):

PHP調用API接口實現氣象查詢功能的示例

二、使用級參數(每個接入點有自己的參數):

PHP調用API接口實現氣象查詢功能的示例

4.返回參數

以JSON款式返回結果

1)系統級參數(所有接入點都會返回的參數)

2)使用級參數(系統級輸出參數showapi_res_body字段中的json數據結構)

具體調用操作:

PHP中自帶了處理json款式字符串的內置函數,下面做一個事例,,并給出完整代碼:

<?php //查找淄博氣象情況 //接口自帶編寫的數組 $showapi_appid = '46435'; //調換此值,在官網的"我的使用"中找到相關值 $showapi_secret = '7c55aef4ede442ffa49b24c2c808e523'; //調換此值,在官網的"我的使用"中找到相關值 $paramArr = array( 'showapi_appid'=> $showapi_appid, 'areaid'=> "", 'area'=> "淄博", 'needMoreDay'=> "", 'needIndex'=> "", 'needHourData'=> "", 'need3HourForcast'=> "", 'needAlarm'=> "" //添加其他參數 ); //創建參數(包括簽名的處理)接口自帶編寫的數組 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后的值作為參數,便于服務器的效驗 return $paraStr; } $param = createParam($paramArr,$showapi_secret); $url = 'http://route.showapi.com/9-2?'.$param; //獲取json款式的數據 $result = file_get_contents($url); //對json款式的字符串進行編碼 $arr = (json_decode($result)); $v = $arr->showapi_res_body;$attr = $v->f1; //所需要的數據進行調用 $arr1 = $attr->day_weather; $arr2 = $attr->night_weather; $arr3 = $attr->night_air_temperature; $arr4 = $attr->day_air_temperature; $arr5 = $attr->day_wind_direction; $arr6 = $attr->night_weather_pic; echo $arr6; ?> //將所需要的數據添加到數據庫 <?php require_once "./DBDA.class.php"; $db = new DBDA(); $sql = "insert into weather values('','{$arr1}','{$arr2}')"; $arr = $db->query($sql); ?>

效果如圖:

PHP調用API接口實現氣象查詢功能的示例

PHP調用API接口實現氣象查詢功能的示例


評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)

站點導航

您可能在找這些
黑龙江快乐十分走势图