Maison  >  Article  >  développement back-end  >  Expliquez brièvement comment PHP se connecte à l'interface de balise d'image Baidu

Expliquez brièvement comment PHP se connecte à l'interface de balise d'image Baidu

WBOY
WBOYoriginal
2023-08-16 19:17:071192parcourir

Expliquez brièvement comment PHP se connecte à linterface de balise dimage Baidu

PHP est un langage de script côté serveur populaire largement utilisé dans le domaine du développement Web. L'un des scénarios d'application courants consiste à s'interfacer avec des API tierces pour implémenter des fonctions de reconnaissance de balises d'image. Cet article expliquera brièvement comment utiliser PHP pour se connecter à l'interface de balise d'image Baidu et joindra des exemples de code correspondants.

Tout d'abord, nous devons demander et obtenir la clé API et la clé secrète correspondantes sur la plateforme de développement Baidu pour la vérification de l'identité et les autorisations d'accès.

Ensuite, en PHP, on peut utiliser la bibliothèque CURL pour faire des requêtes HTTP. Tout d’abord, nous devons initialiser une session CURL et définir les propriétés associées.

$url = 'https://aip.baidubce.com/oauth/2.0/token';  // 获取access_token的URL

$data = array(
    'grant_type' => 'client_credentials',
    'client_id' => 'Your API Key',
    'client_secret' => 'Your Secret Key'
);

$options = array(
    CURLOPT_URL => $url,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($data),
    CURLOPT_RETURNTRANSFER => true,
);

$curl = curl_init();
curl_setopt_array($curl, $options);

Dans le code ci-dessus, nous spécifions d'abord l'URL pour obtenir access_token. Ensuite, un tableau associatif $data contenant les paramètres nécessaires est défini, notamment grant_type, client_id et client_secret. Ensuite, nous définissons un tableau $options pour configurer la session CURL en définissant des options telles que CURLOPT_URL, CURLOPT_POST, CURLOPT_POSTFIELDS et CURLOPT_RETURNTRANSFER. Enfin, utilisez la fonction curl_init() pour initialiser une session CURL et utilisez la fonction curl_setopt_array() pour définir les options CURL.

Ensuite, nous envoyons une requête HTTP POST et obtenons le access_token renvoyé.

$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);  // 将返回数据解码为关联数组
$access_token = $result['access_token'];  // 获取access_token

Dans le code ci-dessus, nous utilisons la fonction curl_exec() pour envoyer la requête HTTP et la fonction curl_close() pour fermer la session CURL. Ensuite, utilisez la fonction json_decode() pour décoder les données JSON renvoyées dans un tableau associatif. Enfin, access_token est obtenu via le tableau associatif et enregistré dans la variable $access_token.

Ensuite, nous pouvons utiliser le access_token obtenu pour appeler l'interface de balise d'image Baidu et implémenter la fonction de reconnaissance de balise d'image.

$url = 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general';

$image = file_get_contents('path/to/your/image.jpg');  // 读取图像文件内容

$data = array(
    'image' => base64_encode($image),
);

$headers = array(
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Bearer ' . $access_token,
);

$options = array(
    CURLOPT_URL => $url,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($data),
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => true,
);

$curl = curl_init();
curl_setopt_array($curl, $options);

$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);  // 将返回数据解码为关联数组

print_r($result);  // 输出返回结果

Dans le code ci-dessus, nous spécifions d'abord l'URL qui appelle l'interface de balise d'image. Ensuite, utilisez la fonction file_get_contents() pour lire le contenu du fichier image et encodez le contenu à l'aide de la fonction base64_encode(). Ensuite, nous définissons un tableau associatif $data contenant le paramètre image et enregistrons les données d'image codées dans le paramètre image.

Ensuite, nous définissons un tableau $headers, qui contient l'en-tête Content-Type et l'en-tête Authorization de la requête HTTP, où la valeur de l'en-tête Authorization est 'Bearer' plus access_token.

Ensuite, nous définissons un tableau $options pour configurer la session CURL en définissant des options telles que CURLOPT_URL, CURLOPT_POST, CURLOPT_POSTFIELDS, CURLOPT_HTTPHEADER et CURLOPT_RETURNTRANSFER. Enfin, utilisez la fonction curl_exec() pour envoyer la requête HTTP et la fonction curl_close() pour fermer la session CURL.

Enfin, nous utilisons la fonction json_decode() pour décoder les données JSON renvoyées dans un tableau associatif et afficher le résultat renvoyé via la fonction print_r().

Grâce aux étapes ci-dessus, nous avons terminé l'ancrage de l'interface de balise d'image Baidu. De cette façon, nous pouvons utiliser PHP pour implémenter des fonctions de reconnaissance de balises d'image et ajouter des fonctions intelligentes à nos applications.

Ce qui précède est un article simple expliquant comment utiliser PHP pour se connecter à l'interface de balise d'image Baidu. J'espère qu'il sera utile à tout le monde de comprendre et d'appliquer PHP et l'interface de balise d'image.

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