阿里云人脸比对API封装
这是根据封装是根据阿里云官方给的Demo进行修改的,当时是因为编写微信小程序云函数需要使用到阿里云人脸比对接口,才对其进行封装的。
记录下来,方便下次使用。
复制下来可以直接使用。
用到的依赖如下,使用npm安装:
- request
- url
- crypto
/*** 文件说明:阿里云人脸比对API封装*/var request = require('request');
var url = require('url');
var crypto = require('crypto');
var date = new Date().toUTCString()/
/*** 配置信息* ak_id :阿里云控制台获取的AccessKey* ak_secret :阿里云控制台获取的AccessKeySecret * Api_Url :阿里云控制台获取Api接口地址*/
// AccessKey
var ak_id = '';
// AccessKeySecret
var ak_secret = '';
// APIURL
var Api_Url = ''/*** 读取本地图片并转base64编码*/
// 图片1
var fs = require("fs");
var filePath = "01.jpg";
var imageData = fs.readFileSync(filePath);
var imageBase64 = imageData.toString("base64");
//图片2
var fs = require("fs");
var filePath = "02.jpg";
var imageData = fs.readFileSync(filePath);
var imageBase64_2 = imageData.toString("base64");var options = {url: Api_Url,method: 'POST',body: '{"type": "1", "content_1":"' + imageBase64 + '","content_2":"' + imageBase64 + '"}',headers: {'accept': 'application/json','content-type': 'application/json','date': date,'Authorization': ''}
};
/md5 = function (buffer) {var hash;hash = crypto.createHash('md5');hash.update(buffer);return hash.digest('base64');
};sha1 = function (stringToSign, secret) {var signature;return signature = crypto.createHmac('sha1', secret).update(stringToSign).digest().toString('base64');
};var body = options.body || '';
var bodymd5;
if (body === void 0 || body === '') {bodymd5 = body;
} else {bodymd5 = md5(new Buffer(body));
}var stringToSign = options.method + "\n" + options.headers.accept + "\n" + bodymd5 + "\n" + options.headers['content-type'] + "\n" + options.headers.date + "\n" + url.parse(options.url).path;var signature = sha1(stringToSign, ak_secret);
var authHeader = "Dataplus " + ak_id + ":" + signature;
options.headers.Authorization = authHeader;// 封装函数
function AliFace(options) {let promise = new Promise(function (resolve, reject) {request(options, (error, response, body) => {// 失败if (error) {console.log("error", error)reject()}console.log("step4-response body:", response.statusCode, body)console.log(typeof (body))// 成功// 注意:这里的body是string类型resolve(body)})})return promise;
}/*** 调用接口进行测试*/
AliFace(options).then(function (res) {console.log(res)}
)
官方API调试界面:https://face.data.aliyun.com/console
官方文档:https://help.aliyun.com/knowledge_detail/53535.html?spm=a2c4g.11186623.6.557.63fc5a17Mvsz17
阿里云人脸比对API封装相关推荐
- Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地
Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地 前言 1.软件包下载 1.1 单解释器,系统Python环境下载软件包 1.2 多解释器,PyCharm给指定解释器安装软 ...
- 阿里云人脸识别介绍(1)
如果我们自己编写一个人脸识别的程序是挺麻烦的,需要自己写代码,导入相关的包,搭建卷积神经网络.现在阿里云对算法进行了封装,通过API接口调用就可以轻松快捷实现人脸识别. 今天就来教一下大家如何在阿里云 ...
- ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介、使用方法之详细攻略
ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介.使用方法之详细攻略 目录 一.百度云api 1.api之CV 二.旷视科技(face++)api 1.a ...
- 阿里云人脸识别公测使用说明
概述 之前阿里云人脸识别只提供人脸检测,人脸属性及人脸对比三个API接口,关于这方面的介绍及使用细节,可以参考阿里云人脸识别使用流程简介,之前使用的服务地址为:dtplus-cn-shanghai.d ...
- 阿里云人脸识别新版SDK对接(java)
我自认为不想做curd程序员,但是免不了的会对数据基本原子操作进行处理,项目开发过程中的增删改查少不了的,但是又不甘心于curd下去,所以想要在掌握现有知识的基础上,甚至逼迫自己去学习一些东西,去接触 ...
- 阿里云人脸识别使用流程简介
概述 之前写过一篇关于Java 使用阿里云人脸识别的博客,介绍了如何使用网络及本地图片基于Rest API调用人脸识别服务.实际的使用中发现很多用户因为之前没有使用过人脸识别,对前期的一些参数配置还是 ...
- 阿里云人脸识别PHP调用示例参考
概述 前面分别给出了关于阿里云人脸识别Java调用示例参考.阿里云人脸识别C#调用示例参考.阿里云人脸识别Python3调用示例参考 .本文主要介绍PHP调用阿里云人脸识别服务,参数等的获取参考阿里云 ...
- 调用阿里云人脸识别接口示例
下面我为大家展示一下我调用阿里云人脸识别接口的示例 首先说下开发环境,springboot 开发的 org.apache.commons.codec.binary.Base64; 这个主要是用来进行b ...
- [iOS]阿里云人脸身份证校验
之前使用人脸身份证校验时,一直返回code=-1提示"照片质量太低".当时以为是图片太小不清晰,传大一些的图片时又提示"图片过大",那时弄得很懵因为安卓端能正常 ...
最新文章
- java的listroots_list(), listFiles(), listRoots() in Java
- 讨论:有多少项目是因为程序的原因而失败的
- ExtJs_关于combobox的那些分页二三事
- java全写_Java 写文件
- ZAB 协议和Paxos 算法
- RateLimiter
- python拼图游戏编码_教你用Python自制拼图小游戏,轻松搞定熊孩子
- 什么是UPS电源系统
- 解决apache启动错误httpd:Could not reliably determine...
- android 音频播放插件,在android中的listview中实现音频播放器
- 关于矩阵相乘顺序的理解(跟旋转没关)
- IDEA 不检查语法错误问题
- 最优服务次序问题 水 NOJ1254
- web前端利用leaflet生成粒子风场,类似windy
- Mac字体路径,解决matplotlib中文显示问题,超级好用~
- 智安新闻丨智安网络与“南滨路国家级文化数字产业中心”就等保云业务展开成功签署战略合作协议
- 素材之家,中国免费素材下载网站!下免费素材就到素材之家!
- Pytorch音频分类
- Java开发人员的微服务:微服务通信
- 微信电脑端双击不能放大图片怎么回事_IOS 微信 聊天双击放大图片操作
热门文章
- NetSuite 修改直发采购订单的供应商,而不是直接使用首选供应商
- iOS语音合成,语音阅读《AVFoundation》-AVSpeechSynthesizer使用方法介绍
- HTML5培训课件:CSS3新增属性拿走不谢
- Maxthon 遨游浏览器找回“上次未关闭页面”
- 计算机应用基础综合检测卷b,计算机应用基础试卷B
- WPF实现ScrollViewer平滑滚动效果
- 亚马逊在2000年至2003年差点儿完蛋,为降低成本由Sun改用HP/Linux:才成就了AWS
- layui数据表格数据绑定加分页代码
- 电子信息专硕学硕建议考研经验
- 倾斜摄影处理常用工具