我目前正在开发一个与 facebook api 一起使用的 python 应用程序。众所周知,facebook 喜欢自己的技术,并且正在使用 zstd 进行数据压缩。
问题:facebook 正在返回带有普通 json 的未压缩响应,或者如果响应更长,它正在使用 zstd 压缩 json 响应。
我当前的代码是这样的:
import zstd
import json
def handle_response(response)
json = None
try:
json = json.loads(zstd.decompress(response.content))
except:
json = json.loads(response.text)
return json
我目前想知道,是否有更干净的方法可以做到这一点,甚至检测 zstd。