Einführung in die Methode zum Aufrufen der API-Schnittstelle zum Abfragen der Wetterfunktion in PHP

黄舟
Freigeben: 2023-03-16 09:58:01
Original
2816 Leute haben es durchsucht

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
Nach dem Login kopieren

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 = &#39;46435&#39;; //替换此值,在官网的"我的应用"中找到相关值
$showapi_secret = &#39;7c55aef4ede442ffa49b24c2c808e523&#39;; //替换此值,在官网的"我的应用"中找到相关值 
$paramArr = array(
   &#39;showapi_appid&#39;=> $showapi_appid,
   &#39;areaid&#39;=> "",
   &#39;area&#39;=> "淄博",
   &#39;needMoreDay&#39;=> "",
   &#39;needIndex&#39;=> "",
   &#39;needHourData&#39;=> "",
   &#39;need3HourForcast&#39;=> "",
   &#39;needAlarm&#39;=> ""
   //添加其他参数
);

//创建参数(包括签名的处理)接口自带编写的数组
function createParam ($paramArr,$showapi_secret) {
   $paraStr = "";
   $signStr = "";
   ksort($paramArr);
   foreach ($paramArr as $key => $val) {
     if ($key != &#39;&#39; && $val != &#39;&#39;) {
       $signStr .= $key.$val;
       $paraStr .= $key.&#39;=&#39;.urlencode($val).&#39;&&#39;;
     }
   }
   $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5
   $sign = strtolower(md5($signStr));
   $paraStr .= &#39;showapi_sign=&#39;.$sign;//将md5后的值作为参数,便于服务器的效验
  
   return $paraStr;
}

$param = createParam($paramArr,$showapi_secret);
$url = &#39;http://route.showapi.com/9-2?&#39;.$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(&#39;&#39;,&#39;{$arr1}&#39;,&#39;{$arr2}&#39;)";
$arr = $db->query($sql);  
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!