PHP使用微軟認知服務Face API
阿新 • • 發佈:2018-01-22
headers lose 更多 下載證書 地址 php.ini 新版 關於 世紀
下面主要介紹基於PHP語言,基於guzzle類庫,調用微軟最新推出的認知服務:人臉識別。
實驗環境:
- IDE:Eclipse for PHP Developers
- Version: Neon.1 Release (4.6.1)
- Server:WampServer Version 2.5
- HttpClient:guzzle
1. 使用composer安裝Guzzle
- composer.json文件
{
"require": {
"guzzlehttp/guzzle": "~6.0"
}
}
- composer.phar下載
- 打開控制臺指令,在項目目錄下運行如下指令完成包的安裝
php composer.phar install
2. 證書安裝
註意:默認的http客戶端工具一般到需要證書的認證,如果沒有導入相應的證書一般會報SSL證書認證錯誤。
- 下載證書到本地,下載地址,將其保存到相應的位置。
- 為了讓證書生效需要相應修改php.ini,修改方法如下:
curl.cainfo =<filepath>/cacert.pem
3. PHP代碼示例
<?php use GuzzleHttp\Psr7\Request; use GuzzleHttp\Client; require_once ‘vendor\autoload.php‘; $client = new Client(); $headers = [‘Content-Type‘ => ‘application/json‘,‘Ocp-Apim-Subscription-Key‘ => ‘{key}‘]; $body = ‘{"url":"{image‘s url}"}‘; $request = new Request(‘POST‘,‘https://api.cognitive.azure.cn/face/v1.0/detect‘, $headers , $body); $response = $client->send($request); echo $response->getBody(); ?>
4. 運行結果示例
[{"faceId":"b22efa8f-0e34-4344-8346-ca8b79d29a27","faceRectangle":{"top":181,"left":184,"width":257,"height":257}}]
5. 讀取本地圖片
<?php use GuzzleHttp\Psr7\Request; use GuzzleHttp\Client; require_once ‘vendor\autoload.php‘; $client = new Client(); $headers = [‘Content-Type‘ => ‘application/octet-stream‘,‘Ocp-Apim-Subscription-Key‘ => ‘bd8e4ce12f444c639ac9c214d70ac72c‘]; $myfile = fopen("tt.jpg", "r") or die("Unable to open file!"); $request = new Request(‘POST‘,‘https://api.cognitive.azure.cn/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age‘, $headers , $myfile); $response = $client->send($request); echo $response->getBody(); fclose($myfile); ?>
6. 更多參考
- 關於key的獲取可以登錄世紀互聯官方網站申請賬戶,在新版本的 portal 中即可創建認知服務。
- 認知服務RestAPI參考
PHP使用微軟認知服務Face API