Der folgende Editor zeigt Ihnen ein Beispiel für die Verwendung von PHP zum Aufrufen der API-Schnittstelle zur Implementierung der Wetterabfragefunktion. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen
API für Wettervorhersageabfragen Hier verwende ich die Wettervorhersageschnittstelle der National Meteorological Administration
Die am häufigsten verwendeten sind: Sina Weather Forecast-Schnittstelle , Baidu-Wettervorhersageschnittstelle, Google-Wetterschnittstelle, Yahoo-Wetterschnittstelle usw.
1. Abfragemethode
Fragen Sie die Wetterbedingungen jeder Stadt anhand der Ortsnamen ab
2
http://route.showapi.com/9-2
3. Beschreibung der Schnittstellenparameter:
1. Parameter auf Systemebene (von allen benötigte Parameter). Zugangspunkte):
2. Parameter auf Anwendungsebene (jeder Zugangspunkt hat seine eigenen Parameter):
4. Rückgabeparameter
Ergebnisse im JSON-Format zurückgeben
1) Systemebene Parameter (alle Parameter, die vom Zugriffspunkt zurückgegeben werden)
2) Parameter auf Anwendungsebene (JSON-Datenstruktur im Ausgabeparameterfeld showapi_res_body auf Systemebene)
Spezifischer Aufrufvorgang:
PHP verfügt über integrierte Funktionen zur Verarbeitung von JSON-Formatzeichenfolgen. Hier ist ein Beispiel und der vollständige Code:
<?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); ?>
Der Effekt ist wie folgt:
Das obige ist der detaillierte Inhalt vonEinführung in die Methode zum Aufrufen der API-Schnittstelle zum Abfragen der Wetterfunktion in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!