用PHP调用证件识别接口识别本地图片
前置条件
在开始前,请作如下准备:
1.学会用PHP输出“Hello World”
2.去聚合数据申请证件识别专用的KEY:https://www.juhe.cn/docs/api/id/153
操作步骤
1.配置好PHP开发环境
2.在相应的本地网站根目录下新建一个文件夹并命名为:card
3.请准备一张jpg格式的身份证照片(本示例中的图片来自网络),并命名为1.jpg,放在card目录
4.请务必确保PHP对1.jpg有读权限(先用fopen(‘1.jpg’, ‘r’)测试一下)
5.在card目录新建一个index.php文件,并输入以下内容:
<?php
/**
* 证件识别接口示例
* 提供两种方式,请根据您的PHP版本、服务器环境等因素选择适合的方式
* 推荐使用第一种(PHP 5 >= 5.5.0)
* 示例中的身份证图片来自网络,用真实的身份证图片会有更佳的识别效果
*/ header("Content-type:text/html;charset=utf-8");
$config = array(
'key' => '将我替换成您申请的KEY',
'url' => 'http://v.juhe.cn/certificates/query.php', //聚合数据证件识别接口的URL地址
'cardType' => '2', //证件的类型
'type' => 'image/jpg', //证件图片的类型
); /*第一种方式*/
$ch = curl_init($config['url']);
$cfile = curl_file_create('1.jpg', $config['type'], '1.jpg');
$data = array(
'cardType' => $config['cardType'],
'key' => $config['key'],
'pic' => $cfile,
);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
curl_close($ch); echo "";
/*/第一种方式*/ /*第二种方式*/
$data = array(
'cardType' => $config['cardType'],
'key' => $config['key'],
'pic' => "@1.jpg",
);
post($config['url'], $data);
/*/第二种方式*/ function post($url, $data) {
$ch = curl_init();
curl_setopt( $ch , CURLOPT_POST , true );
@curl_setopt( $ch , CURLOPT_POSTFIELDS , $data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch);
curl_close($ch);
}
6.打开浏览器,访问http://localhost/card/index.php,正常情况下你应该看到类似下面的内容:
{"error_code":"200","reason":"操作成功","result":{"住址":"XX省XX县XX村XX号","保留":"","公民身份号码":"420188195408288888","出生":"1954-08-28","头像":"","姓名":"XXX","性别":"女","民族":"汉族"}}
{"error_code":"200","reason":"操作成功","result":{"住址":"XX省XX县XX村XX号","保留":"","公民身份号码":"420188195408288888","出生":"1954-08-28","头像":"","姓名":"XXX","性别":"女","民族":"汉族"}}
7.如果PHP版本低于5.5,但是又想用curl_file_create,请参考文档提供的方法:http://php.net/manual/en/function.curl-file-create.php
For PHP < 5.5:
<?php
if (!function_exists('curl_file_create')) {
function curl_file_create($filename, $mimetype = '', $postname = '') {
return "@$filename;filename="
. ($postname ?: basename($filename))
. ($mimetype ? ";type=$mimetype" : '');
}
}
?>
用PHP调用证件识别接口识别本地图片的更多相关文章
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...
- 身份证识别接口编写的JAVA调用示例
此java文章是基本聚合数据证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理. 使用前你需要通过 https://www.juhe.cn/docs/api/id/153 ...
- 微信公众号开发调用摄像头、拍摄或选择图片、OCR识别
一 .准备工作 <1> 域名认证准备工作 在需要调用摄像头的接口页面引入微信的js,具体地址为:(支持https):http://res.wx.qq.com/open/js/ ...
- 使用百度ocr接口识别验证码
#!/usr/bin/env python #created by Baird from aip import AipOcr def GetCaptchaV(filename): APP_ID = ' ...
- 华为云EI人脸识别接口初探
0. 准备工作 开户及申请开通人脸识别服务,可以参考https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXE01 ...
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...
- python验证码识别接口及识别思路代码
1,验证码识别接口代码 import json import base64 import requests def shibie(): data = {} path = "./img/&qu ...
- 采用太平洋AI集装箱箱号识别接口实现集装箱箱号识别
识别 示例图片 1 太平洋AI集装箱箱号识别接口(文档下方有详细操作指南) 1.1 接口一:提交base64格式的图片 地址:http://218.1.125.60:88/container_num_ ...
随机推荐
- 浅谈JavaScript中的函数问题
前面的话:JavaScript可运行在所有主要平台的主流浏览器上,也可运行在每一个主流操作系统的服务器端上.所以呢,要想成为一名优秀的全栈工程师,必须懂得JavaScript语言.这是我整理的JS的部 ...
- angular2多组件通信流程图
知识点1:组件属性的双向绑定,需要在属性+Change 作为Output方法返回即可. 知识点2:更新子组件的值,不会引起output触发,父组件不会更新绑定的值 知识点3:属性的双向绑定,只会子组件 ...
- Redhat/CentOS安装vsftp软件
1.更新yum源 首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692 2.安 ...
- POJ 3155 Hard Life(最大密度子图+改进算法)
Hard Life Time Limit: 8000MS Memory Limit: 65536K Total Submissions: 9012 Accepted: 2614 Case Ti ...
- MSP430之自动增益程控放大main备份
占位符 #include <msp430.h> #include "sys.h" #include "ps2.h" #include "1 ...
- cf 512D - Fox And Travelling
题目大意 给定一颗\(n\le 100\)个点的图,可以进行随机游走,求游走\(k=0...n\)个点的方案数 游走的规则是:每次只能访问一个度数\(\le 1\)的点,并将其删除 分析 看完傻眼 问 ...
- hdu 1158 dp
/* 题目大意:给n个月工作需要的人数,雇佣一个需要花hire 每个月的薪水是salary,解雇一个需要fire 求完成所有工作的最小费用 dp(i,j)表示第i个月雇佣j员工的最小费用 */ #in ...
- 【CF1043D】Mysterious Crime(贡献)
题意:给定m个人,每个人有n个数字且每个人的所有数字都是一个n的排列,求有多少种方案去掉某个前缀和后缀后m个人剩余的部分相等 m<=10,n<=1e5 思路:考虑极长的一段连续匹配的串,因 ...
- 关于C++的字符串操作
自己懒得打,就贴一个dalao的网址吧.常用. http://blog.csdn.net/fenxinzi557/article/details/51457829
- wireshark过滤数据
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换.用来获取网络数据封包,包括http,TCP,UDP,等网络协议包.使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码 ...