我想这是一个愚蠢的问题,但我试图在谷歌搜索回答,这里没有运气。
所以我使用带有http.client包的Get请求连接到API。
将get请求发送到带有ziped文件的地址。发送请求没问题,我得到一个返回的对象。我接下来要做的就是将返回的文件保存到文件夹中。
我试过查看http.client文档,并找到了关于它的任何内容。
这是代码如何显示的示例。出于隐私原因,我不得不删除部分内容
Your local folder is in sync with master and no changelist detected
代码运行正常,但我的问题是下一步该怎么做。如果返回的数据只是一个普通的json文件,我会做类似的事情:
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
然后能够在脚本中使用它。但我不知道如何处理返回的ziped文件。我希望在保存之前解压缩它,但作为一个开始,只需将其保存到文件即可。
希望有人有一个简单的解决方案。
我确实看了一下,当在返回的对象上使用getheaders()时,我得到了这个:
data = res.read()
data = data.decode("uft-8")
我不确定这是否相关,但我想我现在需要一种下载附件的方法。
答案 0 :(得分:0)
您可以在Python中轻松提取zip文件:
import requests
from zipfile import ZipFile
import io
my_request = requests.get(URL)
ficheiro = ZipFile(io.BytesIO(my_request.content))
ficheiro.extract('file_name')
您可以在此处获取有关zipfile
模块和zipfile.ZipFile
课程的更多信息: