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())
|