对接海康ISC平台

对接海康ISC平台

import requests
import urllib3
import json

# 强制取消证书验证的级别出发不同的警告
urllib3.disable_warnings()

# 海康ISC AK/SK
appKey = "26798914"
appSecret = "6afUp43a2wY4gumN1hbo"
URL = "https://172.30.64.51:1443/artemis"

# 获取根区域信息"indexCode":"root000000"
regions_root = "GH3hedWffIf7IlpfHhFyAhoFZoOTBSWwupTy/D0pj8c="
# 根据区域编号获取下一级区域列表v2 "indexCode": "22644f6d-4377-48cf-8196-e65b84739696"
regions_subRegions = "TZAY1W91PHvcz7LVGawEOd1z1f8P5FdKu/hX15z6jZY="
# 根据区域编号获取当前层级的资源信息,包括门禁,监控,但不包含子层集
resource_subResources = "6mXT/YXF7gcLFwsQ0aoY2M+ZfgDp54KR2uUk93WlFLM="
# 根据监控点编号、开始时间、结束时间,分页获取录像录像完整性记录
resource_nms_record_list = "4rcC1XxoK1AB3dOvdOCyTLSRz+3SRqjkdlnlCn58kiU="

# 请求地址
# 获取根区域信息
URL_regions_root = URL + "/api/resource/v1/regions/root"
# 根据区域编号获取下一级区域列表v2
URL_regions_subRegions = URL + "/api/resource/v2/regions/subRegions"
# 根据区域编号获取当前层级的资源信息,包括门禁,监控,但不包含子层集
URL_resource_subResources = URL + "/api/irds/v2/resource/subResources"
# 根据监控点编号、开始时间、结束时间,分页获取录像录像完整性记录
URL_nms_record_list = URL + "/api/nms/v1/record/list"

# 请求BodY
# 获取根区域信息
json_regions_root = {}
# 根据区域编号获取下一级区域列表v2
json_regions_subRegions = {
    "resourceType": "region",
    "parentIndexCodes": [
        "root000000"
    ],
    "isSubRegion": 'true',
    "pageNo": 1,
    "pageSize": 1,
    "authCodes": [
        "view"
    ],
    "regionType": 10,
    "regionName": "区",
    "cascadeFlag": 0
}
# 根据区域编号获取当前层级的资源信息,包括门禁,监控,但不包含子层集
json_resource_subResources = {
    "regionIndexCode": "22644f6d-4377-48cf-8196-e65b84739696",
    "pageNo": 1,
    "authCodes": [
        "view"
    ],
    "pageSize": 5,
    "resourceType": "camera"
}
# 根据监控点编号、开始时间、结束时间,分页获取录像录像完整性记录
json_nms_record_list = {
    "pageNo": 1,
    "pageSize": 20,
    "beginTime": "2023-08-06T00:00:00.000+08:00",
    "endTime": "2023-08-07T00:00:00.000+08:00",
    "indexCodes": [
        "19951100995749c9a188c89fac8a3645"
    ]
}

# 请求头需按此顺序编写,X-Ca-Signature根据请求URL后缀地址通过isc openAPI签名工具生成
headers = {'Content-Type': 'application/json', 'X-Ca-Key': appKey, 'X-Ca-Signature-Headers': 'X-Ca-Key',
           'X-Ca-Signature': regions_root}
# 请求数据
resources = requests.post(url=URL_regions_root, json=json_regions_root, headers=headers, verify=False)
print(resources.text)
# print(resources.json()['data']['list'])
# for result in resources.json()['data']['list']:
#     print(result['regionPathName'], result['name'], result['indexCode'])

# resources = json.loads(resources.content)
# print(type(resources))
# print(len(resources))
# resources = json.dumps(resources['data'])
# resources = json.loads(resources)
# print(len(resources))
# print(resources['list'])