2025-09-02 14:09:35 +08:00
|
|
|
import hmac
|
|
|
|
from hashlib import sha1
|
|
|
|
import base64
|
|
|
|
import time
|
2025-09-02 16:26:38 +08:00
|
|
|
import uuid
|
2025-09-02 16:27:43 +08:00
|
|
|
import requests
|
2025-09-02 16:26:38 +08:00
|
|
|
import Config.Config
|
2025-09-02 16:04:10 +08:00
|
|
|
|
|
|
|
|
2025-09-02 14:09:35 +08:00
|
|
|
def make_sign(uri):
|
2025-09-02 16:26:38 +08:00
|
|
|
"""
|
|
|
|
生成签名
|
|
|
|
"""
|
|
|
|
# API访问密钥
|
|
|
|
secret_key = Config.Config.LIBLIB_SECRETKEY
|
|
|
|
|
|
|
|
# 当前毫秒时间戳
|
|
|
|
timestamp = str(int(time.time() * 1000))
|
|
|
|
# 随机字符串
|
|
|
|
signature_nonce = str(uuid.uuid4())
|
|
|
|
# 拼接请求数据
|
|
|
|
content = '&'.join((uri, timestamp, signature_nonce))
|
|
|
|
|
|
|
|
# 生成签名
|
|
|
|
digest = hmac.new(secret_key.encode(), content.encode(), sha1).digest()
|
|
|
|
# 移除为了补全base64位数而填充的尾部等号
|
|
|
|
sign = base64.urlsafe_b64encode(digest).rstrip(b'=').decode()
|
|
|
|
return sign, timestamp, signature_nonce
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2025-09-02 16:27:43 +08:00
|
|
|
# 要调用的接口路径
|
2025-09-02 16:26:38 +08:00
|
|
|
uri = "/api/model/version/get"
|
2025-09-02 16:27:43 +08:00
|
|
|
# 获取签名
|
2025-09-02 16:26:38 +08:00
|
|
|
sign, timestamp, signature_nonce = make_sign(uri)
|
|
|
|
url = f'{Config.Config.LIBLIB_URL}{uri}?AccessKey={Config.Config.LIBLIB_ACCESSKEY}&Signature={sign}&Timestamp={timestamp}&SignatureNonce={signature_nonce}'
|
2025-09-02 16:27:43 +08:00
|
|
|
# 封装调用参数
|
2025-09-02 16:26:38 +08:00
|
|
|
versionUuid="21df5d84cca74f7a885ba672b5a80d19"
|
|
|
|
response = requests.post(url, json={"versionUuid":versionUuid})
|
2025-09-02 16:30:38 +08:00
|
|
|
response_data = response.json()
|
|
|
|
if response_data.get('code') == 0:
|
|
|
|
model_info = response_data.get('data')
|
|
|
|
modelName= model_info.get('modelName')
|
|
|
|
versionNam= model_info.get('versionName')
|
|
|
|
commercialUse=model_info.get('commercialUse')
|
|
|
|
modelUrl= model_info.get('modelUrl')
|
|
|
|
print(f"模型名称:{modelName}")
|
|
|
|
print(f"版本名称:{versionNam}")
|
|
|
|
print(f"是否允许商业用途:{commercialUse}")
|
|
|
|
print(f"模型下载地址:{modelUrl}")
|
|
|
|
else:
|
|
|
|
print(f"错误信息:{response_data.get('message')}")
|
|
|
|
|