minor change

This commit is contained in:
Remik1r3n
2025-07-14 12:26:31 +08:00
parent cad4d1ea83
commit 4078bf9ce0

View File

@@ -97,7 +97,7 @@ def apiSDGB(
requestDataFinal = aes.encrypt(zlib.compress(data.encode('utf-8'))) requestDataFinal = aes.encrypt(zlib.compress(data.encode('utf-8')))
if not noLog: if not noLog:
logger.debug(f"开始请求 {targetApi},以 {data}") logger.debug(f"[Stage 1] 准备开始请求 {targetApi},以 {data}")
retries = 0 retries = 0
while retries < maxRetries: while retries < maxRetries:
@@ -126,10 +126,10 @@ def apiSDGB(
) )
if not noLog: if not noLog:
logger.info(f"{targetApi} 请求结果: {response.status_code}") logger.info(f"[Stage 2] {targetApi} 请求结果: {response.status_code}")
if response.status_code != 200: if response.status_code != 200:
errorMessage = f"请求失败: {response.status_code}" errorMessage = f"[Stage 2] 请求失败: {response.status_code}"
logger.error(errorMessage) logger.error(errorMessage)
raise SDGBRequestError(errorMessage) raise SDGBRequestError(errorMessage)
@@ -140,28 +140,30 @@ def apiSDGB(
try: try:
responseContentDecrypted = aes.decrypt(responseContentRaw) responseContentDecrypted = aes.decrypt(responseContentRaw)
if not noLog: if not noLog:
logger.debug("成功解密响应!") logger.debug("[Stage 3] Decryption SUCCESS.")
except Exception as e: except Exception as e:
logger.warning(f"解密失败,原始响应: {responseContentRaw}, 错误: {e}") logger.warning(f"[Stage 3] Decryption FAILED. Raw Content: {responseContentRaw}, Error: {e}")
raise SDGBResponseError("解密失败") raise SDGBResponseError("Decryption failed")
# 然后尝试解压 # 然后尝试解压
try: try:
# 看看文件头是否是压缩过的 # 看看文件头是否是压缩过的
if responseContentDecrypted.startswith(b'\x78\x9c'): if responseContentDecrypted.startswith(b'\x78\x9c'):
logger.debug("响应内容是 zlib 压缩格式") logger.debug("[Stage 4] Zlib detected, decompressing...")
responseContentFinal = zlib.decompress(responseContentDecrypted).decode('utf-8') responseContentFinal = zlib.decompress(responseContentDecrypted).decode('utf-8')
else: else:
logger.warning(f"响应内容不是 zlib 压缩格式, 内容: {responseContentDecrypted}") logger.warning(f"[Stage 4] Not Zlib Format!! using raw content: {responseContentDecrypted}")
responseContentFinal = responseContentDecrypted.decode('utf-8') responseContentFinal = responseContentDecrypted.decode('utf-8')
# 完成解压
if not noLog: if not noLog:
logger.debug(f"响应: {responseContentFinal}") logger.debug(f"[Stage 4] Process OK, Content: {responseContentFinal}")
# 最终处理,检查是否是 JSON 格式 # 最终处理,检查是否是 JSON 格式
if responseContentFinal.startswith('{') and responseContentFinal.endswith('}'): if responseContentFinal.startswith('{') and responseContentFinal.endswith('}'):
# 如果是 JSON 格式,直接返回 # 如果是 JSON 格式,直接返回
logger.debug("[Stage 5] Response is JSON, returning.")
return responseContentFinal return responseContentFinal
else: else:
# 如果不是 JSON 格式,可能是文本或其他格式,直接返回 # 如果不是 JSON 格式,直接返回但是警告
logger.warning("响应内容不对劲!可能有错误!") logger.warning("[Stage 5] Response is not JSON, returning as is, take care!")
return responseContentFinal return responseContentFinal
except: except:
logger.warning(f"解压失败,原始响应: {responseContentDecrypted}") logger.warning(f"解压失败,原始响应: {responseContentDecrypted}")