# -*- encoding: utf-8 -*-
import requests
from urllib import parse
import base64
import json
import uuid
API_HOST = "http://www.XXXXXXXX:XXXX/XXX/XXXXXXX/"
URL_TO_UPLOAD = "ydy-services/upload"
URL_TO_DOWNLOAD = "ydy-services/download"
URL_TO_RETRIEVE = "ydy-services/retrieve"
def upload_idcard_data_test():
"""
接口示例: 身份证识别服务 任务上传
:return:
"""
# 示例图片地址
SAMPLE_IMAGE_PATH = "./IDcard_sample.png"
IDCARD_DOC_TYPE = "IDcard"
with open(SAMPLE_IMAGE_PATH, "rb") as f:
base64_data = base64.b64encode(f.read()).decode("utf-8")
task_id = str(uuid.uuid4())[:10].replace("-", "")
doc_id = str(uuid.uuid4())[:10].replace("-", "")
file_id = str(uuid.uuid4())[:10].replace("-", "")
payload = {
"taskId": task_id,
"documents": [
{
"docId": doc_id,
"docType": IDCARD_DOC_TYPE,
"files": [
{
"fileId": file_id,
"fileType": "PNG",
"file": base64_data
}
]
}
]
}
url = parse.urljoin(API_HOST, URL_TO_UPLOAD)
print(url)
response = requests.post(url, data=json.dumps(payload))
print(response.json())
def download_data_test(task_num=1):
"""
接口示例: 根据任务数量下载
:param task_num:
:return:
"""
payload = {
"numOfTasks": str(task_num)
}
url = parse.urljoin(API_HOST, URL_TO_DOWNLOAD)
response = requests.post(url, data=json.dumps(payload))
print(response.json())
return response.json()
def retrieve_data_test(task_ids=None):
"""
根据task id 下载接口示例
:param task_num:
:return:
"""
if task_ids is None:
task_ids = ["f0a71b56a"]
payload = {
"taskIds": task_ids
}
url = parse.urljoin(API_HOST, URL_TO_RETRIEVE)
response = requests.post(url, data=json.dumps(payload))
print(response.json())
return response.json()
if __name__ == "__main__":
upload_common_data_test()
upload_idcard_data_test()
download_data_test(2)
retrieve_data_test()