【问题标题】:Read data from API with Python encoded with base64 and gzip使用用 base64 和 gzip 编码的 Python 从 API 读取数据
【发布时间】:2017-09-14 19:40:31
【问题描述】:

我尝试为我们的学生时间表/时间表编写自己的 API。已经有一个用 PHP (GitHub) 编写的 API,但我想使用 Python。

现在我正在尝试读取从原始 API 获得的数据。这是回应:

{
  "d":
    "H4sIAAAAAAAEAO1XzW6bQBC+V+o7IM5Z82PMj29RqkiRkiiKo/ZQVdUuOxgUzFpmaVpFeZs+Rm95sS5egwEDwY7bQ9o9GGtm5+8bdj728f07RVFvIc1i7jMK6lTRTyqyGcc8Sy+SgAmNqkqVEK74RULhuxAio7r/CpLsgsMiFZrPuVxRHuVDbClMZAQp8llyGSX3W+9r8V3E4zwXYRLimENFdRZGMa24r4WohTFO6uJKqJDzZTrVNLxcjmhKhIavWDyioKWi4MjXcEJXLKKR0KTaXRRDOlomc7XusczyNEvD55/JHBobbhnjQl9LL8+E1svdiD9gDq2KMs6uCXAcxe1GeJ62Ks5YcvdjCbU+bFQ3q4i1yXcb19MMuR6bgrJuYk5cV7dMZLoBRZbleMizTA854BN94ltkEljNpGv4GNZI90ambjiKMZ5OjNbNJWbXpqV8As5hpdzCPGIJjtu9d0LZC2cDUrNN3QGrxKQDWum3E958tUAsXb4KZgnGHlBLePaEW0YpIS/Oo4/9EMzGkTzPj59mbBZq+SmWNqRo7QEwD2E1CvmiO7e+fsvelD23u7b09F02qqf3MkbZ/y/dMeBbBA95qp5nG/okIEi0a4ws3yOieNtHAXXG2DbAcYk/DKGldLoeeW1xn3aFbQlWk9vx0/DRtO+0faqP2C6I1CvgIaPXeLF+LXn+DjWm8zU8nLEs4TsdUGf4G1zidM1+uTlfZbDdUM2gnXka7l7DPAtxRkgMfexzEwvu+U895eqmngDA0l1qIpdQcUJsMkbuBBso8Meu7YFBiUMHU481Ne1+6vl4o8z88PlXLIbhgpHo3yCeQ0GWYOwBtISnADvNSMq/6rqRz/U9KGf3IFLMsTZomA4pVRuW2Fvlm0EQvUW+2QzuY3FO8XcbtRGxckVqDdIToChx96a2vUK9eFObCb7i0bzKsnvc1Y7GmOcAlGD/vo8wiz3qQa0N2q2HdzbAcbrX58TRLrKnhGW8D5n1Rf8gVHDu+u9BYh4Lkks2fwETueMwVOI228Nh+aNDIH9Ix6I6nCQQ177V1CuBG064JHlMLOJZgFEwcQNkYcdAroXHyPB8B9u6bTtjT4zRp98HcP/bYBIAAA=="
}

在 PHP 文件中它是这样解码的:

// parse json
$response = json_decode($response)->d;

// decode Base64
$response = base64_decode($response);

// decode gzip
$response = gzdecode($response);

我尝试用 Python 做同样的事情:

# Read JSON
data = r.json()["d"]

# Decode Base64
data_base64 = base64.b64decode(data)

# Decode GZIP
data_uncompressed = zlib.decompress(data_base64)

# Decode JSON
data_json = json.loads(data_uncompressed)

很遗憾,我在解码 GZIP 时出错:

data_uncompressed = zlib.decompress(data_base64)
zlib.error: Error -3 while decompressing data: incorrect header check

有谁知道,是什么导致了错误?提前感谢您的帮助!

【问题讨论】:

    标签: php python gzip


    【解决方案1】:

    解压错误。您想使用 gzip.decompress() 获取完整的 gzip 数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多