# -*- coding: utf-8 -*-
import sys
import uuid
import requests
import base64
import hashlib
import time
import importlib
importlib.reload(sys)
YOUDAO_URL = 'https://openapi.youdao.com/ocr_structure'
APP_KEY = '32bc840fdc278a00'
APP_SECRET = 'JWHrxlNQAnjgSzJGlGkpV6ct85Figw5c'
def truncate(q):
if q is None:
return None
q_utf8 = q.decode("utf-8")
size = len(q_utf8)
return q_utf8 if size <= 20 else q_utf8[0:10] + str(size) + q_utf8[size - 10:size]
def encrypt(signStr):
hash_algorithm = hashlib.sha256()
hash_algorithm.update(signStr.encode('utf-8'))
return hash_algorithm.hexdigest()
def do_request(data):
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
return requests.post(YOUDAO_URL, data=data, headers=headers)
def connect():
f = open(r'/home/zhangjj/AutoDl/temp/3sfz.png', 'rb') # 二进制方式打开图文件
q = base64.b64encode(f.read()) # 读取文件内容,转换为base64编码
f.close()
data = {}
data['structureType'] = 'idcard'
data['q'] = q
data['docType'] = 'json'
data['signType'] = 'v3'
curtime = str(int(time.time()))
data['curtime'] = curtime
salt = str(uuid.uuid1())
signStr = APP_KEY + truncate(q) + salt + curtime + APP_SECRET
sign = encrypt(signStr)
data['appKey'] = APP_KEY
data['salt'] = salt
data['sign'] = sign
response = do_request(data)
print (response.text)
if __name__ == '__main__':
connect()
资源列表:
flask部署app参考https://blog.csdn.net/ZhangWanyu_/article/details/84930159
有道智云免费提供试用接口和密钥http://ai.youdao.com/