在解压之前需要手动去除压缩数据中的头部信息,并使用zlib库进行解压。示例代码如下:
import zlib
import base64
# 获取压缩后的SAML请求
compressed_saml_request = "H4sIAAAAAA...CZeQ=="
# 去除头部信息
compressed_saml_request = compressed_saml_request[53:]
# base64解码
saml_request = base64.b64decode(compressed_saml_request)
# zlib解压缩
try:
saml_request = zlib.decompress(saml_request, -zlib.MAX_WBITS)
except zlib.error:
print("Unable to decompress SAML request.")
# 处理解压后的SAML请求
process_saml_request(saml_request)