这是根据封装是根据阿里云官方给的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封装相关推荐

  1. Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地

    Python+阿里云人脸信息脱敏 实现大量照片批量给人脸打马赛克并保存至本地 前言 1.软件包下载 1.1 单解释器,系统Python环境下载软件包 1.2 多解释器,PyCharm给指定解释器安装软 ...

  2. 阿里云人脸识别介绍(1)

    如果我们自己编写一个人脸识别的程序是挺麻烦的,需要自己写代码,导入相关的包,搭建卷积神经网络.现在阿里云对算法进行了封装,通过API接口调用就可以轻松快捷实现人脸识别. 今天就来教一下大家如何在阿里云 ...

  3. ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介、使用方法之详细攻略

    ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介.使用方法之详细攻略 目录 一.百度云api 1.api之CV 二.旷视科技(face++)api 1.a ...

  4. 阿里云人脸识别公测使用说明

    概述 之前阿里云人脸识别只提供人脸检测,人脸属性及人脸对比三个API接口,关于这方面的介绍及使用细节,可以参考阿里云人脸识别使用流程简介,之前使用的服务地址为:dtplus-cn-shanghai.d ...

  5. 阿里云人脸识别新版SDK对接(java)

    我自认为不想做curd程序员,但是免不了的会对数据基本原子操作进行处理,项目开发过程中的增删改查少不了的,但是又不甘心于curd下去,所以想要在掌握现有知识的基础上,甚至逼迫自己去学习一些东西,去接触 ...

  6. 阿里云人脸识别使用流程简介

    概述 之前写过一篇关于Java 使用阿里云人脸识别的博客,介绍了如何使用网络及本地图片基于Rest API调用人脸识别服务.实际的使用中发现很多用户因为之前没有使用过人脸识别,对前期的一些参数配置还是 ...

  7. 阿里云人脸识别PHP调用示例参考

    概述 前面分别给出了关于阿里云人脸识别Java调用示例参考.阿里云人脸识别C#调用示例参考.阿里云人脸识别Python3调用示例参考 .本文主要介绍PHP调用阿里云人脸识别服务,参数等的获取参考阿里云 ...

  8. 调用阿里云人脸识别接口示例

    下面我为大家展示一下我调用阿里云人脸识别接口的示例 首先说下开发环境,springboot 开发的 org.apache.commons.codec.binary.Base64; 这个主要是用来进行b ...

  9. [iOS]阿里云人脸身份证校验

    之前使用人脸身份证校验时,一直返回code=-1提示"照片质量太低".当时以为是图片太小不清晰,传大一些的图片时又提示"图片过大",那时弄得很懵因为安卓端能正常 ...

最新文章

  1. java的listroots_list(), listFiles(), listRoots() in Java
  2. 讨论:有多少项目是因为程序的原因而失败的
  3. ExtJs_关于combobox的那些分页二三事
  4. java全写_Java 写文件
  5. ZAB 协议和Paxos 算法
  6. RateLimiter
  7. python拼图游戏编码_教你用Python自制拼图小游戏,轻松搞定熊孩子
  8. 什么是UPS电源系统
  9. 解决apache启动错误httpd:Could not reliably determine...
  10. android 音频播放插件,在android中的listview中实现音频播放器
  11. 关于矩阵相乘顺序的理解(跟旋转没关)
  12. IDEA 不检查语法错误问题
  13. 最优服务次序问题 水 NOJ1254
  14. web前端利用leaflet生成粒子风场,类似windy
  15. Mac字体路径,解决matplotlib中文显示问题,超级好用~
  16. 智安新闻丨智安网络与“南滨路国家级文化数字产业中心”就等保云业务展开成功签署战略合作协议
  17. 素材之家,中国免费素材下载网站!下免费素材就到素材之家!
  18. Pytorch音频分类
  19. Java开发人员的微服务:微服务通信
  20. 微信电脑端双击不能放大图片怎么回事_IOS 微信 聊天双击放大图片操作

热门文章

  1. NetSuite 修改直发采购订单的供应商,而不是直接使用首选供应商
  2. iOS语音合成,语音阅读《AVFoundation》-AVSpeechSynthesizer使用方法介绍
  3. HTML5培训课件:CSS3新增属性拿走不谢
  4. Maxthon 遨游浏览器找回“上次未关闭页面”
  5. 计算机应用基础综合检测卷b,计算机应用基础试卷B
  6. WPF实现ScrollViewer平滑滚动效果
  7. 亚马逊在2000年至2003年差点儿完蛋,为降低成本由Sun改用HP/Linux:才成就了AWS
  8. layui数据表格数据绑定加分页代码
  9. 电子信息专硕学硕建议考研经验
  10. 倾斜摄影处理常用工具