Maison  >  Article  >  développement back-end  >  Le code PHP implémente l'authentification des demandes et le contrôle d'accès de l'interface API Baidu Wenxinyiyan

Le code PHP implémente l'authentification des demandes et le contrôle d'accès de l'interface API Baidu Wenxinyiyan

王林
王林original
2023-08-26 16:33:061195parcourir

Le code PHP implémente lauthentification des demandes et le contrôle daccès de linterface API Baidu Wenxinyiyan

Le code PHP implémente l'authentification des demandes et le contrôle d'accès de l'interface API Baidu Wenxin Yiyan

[Résumé] Baidu Wenxin Yiyan est un service API qui fournit des phrases aléatoires. Cet article présentera l'utilisation du code PHP pour implémenter l'API. L'interface exécute des méthodes d'authentification de demande et de contrôle d'accès et fournit des exemples de code.

[Texte]

L'API de phrases aléatoires est souvent utilisée dans le développement. Elle peut être utilisée pour générer des textes, des citations célèbres et des aphorismes. Baidu fournit un service API gratuit appelé Baidu Wenxin Yiyan, qui peut obtenir des phrases aléatoires. Cependant, afin d'assurer la sécurité de l'interface, nous devons effectuer une authentification et un contrôle d'accès dans la requête.

Ci-dessous, nous utiliserons le code PHP comme exemple pour démontrer comment effectuer l'authentification des demandes et le contrôle d'accès via l'API Baidu Wenxin Yiyan.

Tout d'abord, avant d'utiliser l'API, nous devons enregistrer une application sur Baidu Open Platform et obtenir la clé API et la clé secrète correspondantes. Une fois l'inscription terminée, nous pouvons obtenir les paramètres suivants :

<?php
$apiKey = "YOUR_API_KEY"; // 替换为你的API Key
$secretKey = "YOUR_SECRET_KEY"; // 替换为你的Secret Key

Ensuite, nous devons signer la demande pour garantir la légitimité de la demande. Les étapes spécifiques de signature sont les suivantes :

  1. Obtenez l'horodatage actuel, précis à la seconde près.
  2. Concaténez la clé API, l'horodatage actuel et la clé secrète dans une chaîne et calculez la valeur MD5 de la chaîne.
  3. Convertissez la valeur MD5 obtenue à l'étape précédente en majuscule et effectuez l'encodage Base64.

Ce qui suit est un exemple de code PHP signé :

<?php
$apiUrl = "https://api.xxfgo.net/oneapi"; // API接口地址

// 获取当前时间戳
$timestamp = time();

// 计算签名
$sign = base64_encode(strtoupper(md5($apiKey . $timestamp . $secretKey)));

// 构造请求参数
$params = array(
    "apiKey" => $apiKey,
    "timestamp" => $timestamp,
    "sign" => $sign
);

// 发起请求
$url = $apiUrl . "?" . http_build_query($params);
$response = file_get_contents($url);
$data = json_decode($response, true);

if ($data && $data["status"] == "success") {
    // 请求成功
    echo $data["data"]["content"];
} else {
    // 请求失败
    echo "请求失败:" . $data["message"];
}
?>

Grâce à l'exemple de code ci-dessus, nous pouvons implémenter l'authentification des demandes et le contrôle d'accès pour l'interface API Baidu Wenxin Yiyan. Dans les applications réelles, veuillez remplacer "YOUR_API_KEY" et "YOUR_SECRET_KEY" par la clé API et la clé secrète que vous avez obtenues lors de l'enregistrement de l'application sur Baidu Open Platform.

【Conclusion】

Cet article présente la méthode d'utilisation du code PHP pour implémenter l'authentification des demandes et le contrôle d'accès pour l'interface API Baidu Wenxin Yiyan. En signant les demandes, nous pouvons garantir la légitimité de la demande et assurer la sécurité de l'interface. J'espère que cet article sera utile à tout le monde lors de l'utilisation de l'API Baidu Wenxin Yiyan.

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!

Déclaration:
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