Python调用示例 以下示例代码基于python3。 !/usr/bin/env python coding: utf8 import requests import json import hashlib import base64 import hmac import datetime import uuid METHODGET 'GET' METHODPOST 'POST' AK ' ' SK ' ' DOMAIN ' PARAMS { "regionID": "bb9fdb42056f11eda1610242ac110002", } def hmacsha256(secret, data): if isinstance(secret, str): secret bytearray(secret.encode(encoding"utf8")) elif isinstance(secret, bytes): secret bytearray(secret) if isinstance(data, str): data bytearray(data.encode(encoding"utf8")) elif isinstance(data, bytes): data bytearray(data) return hmac.new(secret, data, digestmodhashlib.sha256).digest() def base64ofhmac(data): return base64.b64encode(data) def getrequestuuid(): return str(uuid.uuid1()) def getsortedstr(data): """ 鉴权用的参数整理 :param data: dict 需要整理的参数 :return: str """ print("data.items(), %s", str(data.items())) sorteddata sorted(data.items(), keylambda item: item[0]) print("sorteddata, %s", str(sorteddata)) strlist list(map(lambda xy: '%s%s' % (xy[0], xy[1]), sorteddata)) print("strlist, %s", str(strlist)) return '&'.join(strlist) def buildsign(queryparams, bodyparams, eopdate, requestuuid): """ 计算鉴权字段 :param queryparams: dict get请求中的参数 :param bodyparams: dict post请求中的参数 :param eopdate: str 请求时间,格式为:'%Y%m%dT%H%M%SZ' :return: str """ bodystr json.dumps(bodyparams) if bodyparams else '' bodydigest hashlib.sha256(bodystr.encode('utf8')).hexdigest() 请求头中必要的两个参数 headerstr 'ctyuneoprequestid:%sneopdate:%sn' % (requestuuid, eopdate)