Introduction à la méthode d'appel de l'interface API pour interroger la fonction météo en PHP

黄舟
Libérer: 2023-03-16 09:58:01
original
2857 Les gens l'ont consulté

L'éditeur suivant vous apportera un exemple d'utilisation de PHP pour appeler l'interface API afin d'implémenter la fonction de requête météo. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour jeter un œil

API de l'interface de requête de prévisions météorologiques. Ici, j'utilise l'interface de prévisions météorologiques de l'Administration météorologique nationale

Les plus couramment utilisées sont : L'interface de prévisions météorologiques de Sina. , Interface de prévisions météorologiques Baidu, interface météo Google, interface météo Yahoo, etc.

1. Méthode de requête

Interrogez les conditions météorologiques de chaque ville en fonction des noms de lieux

2.

http://route.showapi.com/9-2
Copier après la connexion

3. Description des paramètres de l'interface :

1. Paramètres au niveau du système (paramètres requis par tous points d'accès) :

2. Paramètres au niveau de l'application (chaque point d'accès a ses propres paramètres) :

4. Paramètres de retour

Renvoyer les résultats au format JSON

1) Au niveau du système paramètres (tous les paramètres qui seront renvoyés par le point d'accès)

2) Paramètres au niveau de l'application (structure de données json dans le champ showapi_res_body du paramètre de sortie au niveau du système)

Opération d'appel spécifique :

PHP est livré avec des fonctions intégrées pour traiter les chaînes au format json. Voici un exemple et le code complet :


<🎜. >

<?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);  
?>
Copier après la connexion
L'effet est le suivant :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!