Files
dsProject/dsLightRag/Liblib/T1_VersionGet.py

44 lines
1.3 KiB
Python
Raw Normal View History

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:04:10 +08:00
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__':
uri = "/api/model/version/get"
print(make_sign(uri))
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}'
print(url)
# Content-Type application/json
# - 请求body
versionUuid="21df5d84cca74f7a885ba672b5a80d19"
# 编写POST提交并接收返回值
import requests
response = requests.post(url, json={"versionUuid":versionUuid})
print(response.json())