身份证OCR 识别 API 接口用如何PHP调用

随着近年来移动互联网的迅速发展,网络安全和信息安全的重要性也日益凸显,各行业对实名认证的要求也越来越严格,身份证OCR识别接口也就应运而生,它可以让用户通过手机摄像头扫描身份证或者上传身份证图像,快速识别并自动填写相关信息,大大提升了用户体验。

以下是身份证OCR 识别 API 接口用如何PHP调用的示例代码:

php 复制代码
                                                       
<?php

$appKey = "您的appKey";
$appSecret= "您的appSecret";

$url = "https://api.shuxuntech.com/v1/idCard/ocr";
$method = "POST";

$timestamp = getUnixTimestamp();
var_dump($timestamp);
$sign = hash('sha256',$appKey . $timestamp . $appSecret);
var_dump($sign);

$headers = array();
array_push($headers, "Content-Type" . ":" . "application/x-www-form-urlencoded; charset=UTF-8");
array_push($headers, "appKey" . ":" . appKey);
array_push($headers, "timestamp" . ":" . timestamp);
array_push($headers, "sign" . ":" . sign);

$image = "";
$imgUrl = "";
$bodys = "image=" . $image . "&imgUrl=" . $imgUrl;

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

if (1 == strpos("$".$url, "https://")) {
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
var_dump(curl_exec($curl));

function getUnixTimestamp () {
    list($s1, $s2) = explode(' ', microtime());
    return sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
}

返回的数据:

(1)正面返回

php 复制代码
{
    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "0harl9qk12a2cav0mmy25uufl3df4uid",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "side": "front",
            "type": 1,
            "front": {
                "birthday": "1990-01-21",
                "address": "杭州市余杭区仓前街道某某小区1幢801室",
                "gender": "男",
                "race": "汉",
                "name": "张三",
                "idCard": "330110199001212311"
            },
            "back": null
        }
    }
}

(2)反面返回

php 复制代码
{
    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "n2d8oo1qzxhgf9t399lairvfflztkh49",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "side": "back",
            "type": 1,
            "front": null,
            "back": {
                "issuedBy": "杭州市公安局余杭分局",
                "validDate": "2021.06.21-2041.06.21"
            }
        }
    }
}

(3)错误返回

php 复制代码
{
    "code": "1",
    "msg": "参数错误",
    "isFee": 0,
    "seqNo": null,
    "data": null
}

需要特别注意的是,在使用身份证OCR 识别 API 之前,我们首先需要申请并获取 API Key,不同的平台获取 API Key 的方式可能会有所不同。但是这个 API Key 将作为我们身份验证的凭证,在后续的接口请求中必须携带。

相关推荐
PHP实战开发录5 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发
隔窗听雨眠9 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
三84410 小时前
PHP Session 反序列化(2):漏洞根因 —— 序列化处理器错位与对象注入
android·web安全·php·反序列化·session
秦老师Q10 小时前
php零基础入门到实战,从语法到框架,一篇搞定
开发语言·php
后台模板学习12 小时前
2026最新面试真题:到达用英语怎么说背后的逻辑与源码剖析
面试·职场和发展·php
少陽君15 小时前
Python 并发编程:IO 等待用线程/asyncio,CPU 计算才用进程
数据库·python·php
盛世宏博智慧档案16 小时前
高速 ETC 门架外场机房温湿度远程监测解决方案
服务器·数据库·php·高度·高速·温湿度
祁白_18 小时前
防御引擎绕过方法
笔记·web安全·php·防御引擎
evans在进步20 小时前
IP 网络基础详解:路由、ICMP、NAT、子网与 VLAN
网络·tcp/ip·php
Ivanqhz21 小时前
图是“拓扑 + 类型 + 形状“的世界
算法·决策树·机器学习·php·集成学习