【发布时间】:2017-04-19 13:43:55
【问题描述】:
我想这是一个愚蠢的问题,但我试图在谷歌上搜索答案,但没有运气。
所以我使用带有 http.client 包的 Get 请求连接到 API。
get 请求被发送到带有压缩文件的地址。发送请求没问题,我得到一个返回的对象。我接下来要做的就是将返回的文件保存到一个文件夹中。
我尝试查看 http.client 文档,但没有找到任何相关信息。
这是代码外观的示例。出于隐私原因,我不得不删除其中的一些内容
conn = http.client.HTTPConnection("Adress to the server")
headers = {
'cache-control': "no-cache",
}
conn.request("GET", path_to_file + "?authTicket=" + ticket,
headers=headers)
res = conn.getresponse()
return res
代码运行正常,但我的问题是下一步该做什么。如果返回的数据只是一个普通的 json 文件,我会这样做:
data = res.read()
data = data.decode("uft-8")
然后能够在脚本中使用它。但我不知道如何处理返回的压缩文件。理想情况下,我希望在保存之前将其解压缩,但首先可以将其保存到文件中。
希望有人对此有一个简单的解决方案。
我确实对它进行了更多研究,当在返回的对象上使用 getheaders() 时,我得到了这个:
[('Date', 'Wed, 19 Apr 2017 13:48:41 GMT'),
('Content-Type', 'application/octet-stream; charset=UTF-8'),
('Content-Disposition', 'attachment;filename=filename.csv.gz'),
('Content-Length', '2117014'),
('Server', 'Jetty(9.2.17.v20160517)')]
我不确定这是否相关,但我想我现在需要一种下载附件的方法。
【问题讨论】: