1. Abra la interfaz
El siguiente ejemplo de código se basa en la interfaz de identificación de certificados proporcionada por los datos agregados. Antes de usarlo, debe registrarse y solicitar esta interfaz para obtener la clave de clave de solicitud.
Dirección del documento de interfaz: https://www.juhe.cn/docs/api/id/153
2. Introducción a la función
Obtenga el contenido del texto de los certificados regulares a través de la identificación automática, eliminando la tediosa entrada manual por parte de los usuarios y asegurando la precisión del contenido.
Según el archivo de imagen cargado y el tipo de certificado, se reconoce el certificado y se devuelve el contenido del texto.
Admite el reconocimiento OCR de más de 40 tipos de documentos, como tarjetas de identificación, tarjetas bancarias, licencias de conducir y licencias comerciales.
3. Documentación de la API
Dirección de interfaz: http://v.juhe.cn/certificates/typeList
Formato de retorno: json
Método de solicitud: get/post
Ejemplo de solicitud: http://v.juhe.cn/certificates/typeList?key=appkey
interfaz que solicitó Observaciones: consulte la lista de tipos de documentos admitidos
4. Código de ejemplo
<?php
// 证件识别接口 请求密钥key
$apiKey = '********';
// 证件识别接口的URL
$apiUrl = 'http://v.juhe.cn/certificates/query';
// 需要识别的图片信息
$imgFile = 'WechatIMG305.jpeg'; // 本地图片文件路径
$pic = curl_file_create($imgFile, 'image/jpeg', 'pic');
// 组装请求参数
$params = [
'key' => $apiKey, // 您申请到的接口请求key
'cardType' => 3, // 证件类型,依据支持的证件类型清单id修改
'pic' => $pic
];
// 发起网络请求证件识别接口
$response = juheHttpRequest($apiUrl, $params, 1);
$result = json_decode($response, true);
if ($result) {
print_r($result);
// 请求成功,正常响应。 依据自己的业务逻辑修改
$errorCode = $result['error_code'];
if ($errorCode === 0) {
// 识别成功
} else {
// 识别失败
}
} else {
// 可能网络异常等问题,无法正常获得相应内容,业务逻辑可自行修改
echo "请求异常" . PHP_EOL;
}
/**
* 发起网络请求函数
* @param $url 请求的URL
* @param bool $params 请求的参数内容
* @param int $ispost 是否POST请求
* @return bool|string 返回内容
*/
function juheHttpRequest($url, $params = false, $ispost = 0)
{
$httpInfo = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_TIMEOUT, 12);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
if ($ispost) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_URL, $url);
} else {
if ($params) {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
} else {
curl_setopt($ch, CURLOPT_URL, $url);
}
}
$response = curl_exec($ch);
if ($response === FALSE) {
// echo "cURL Error: ".curl_error($ch);
return false;
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$httpInfo = array_merge($httpInfo, curl_getinfo($ch));
curl_close($ch);
return $response;
}
3. Resultado de la respuesta de la interfaz
{
"reason":"操作成功",
"result":{
"保留":"",
"签发机关":"苏州市公安局工业园区分局",
"有效期限":"20160607-20360607",
"签发日期":"2016-06-07",
"有效期至":"2036-06-07"
},
"error_code":0
}