1

我正在通过从 python 向它发送请求来测试我的网页软件。我能够发送请求、接收响应并解析 json。但是,网页上的一种选择是下载文件。我发送下载请求并且可以确认响应标头包含我期望的内容(应用程序/八位字节流和适当的文件名),但 Content-Length 为 0。如果长度为 0,我假设该文件实际上并未发送。我能够从其他方式下载文件,所以我知道我的软件可以工作,但我无法让它与 python 一起工作。

我建立请求然后执行:

f = urllib.request.urlopen(request)
f.body = f.read()

我希望数据在 f.body 中,但它是空的(我看到“b”)

是否有其他方法可以从 python 中的附件访问文件内容?

4

2 回答 2

6

是否有其他方法可以从 python 中的附件访问文件内容?

这是在python-requestsurllib,因为我对此更熟悉。

import requests

url = "http://example.com/foobar.jpg"

#make request
r = requests.get(url)
attachment_data = r.content

#save to file
with open(r"C:/pictures/foobar.jpg", 'wb') as f:
  f.write(attachment_data)
于 2013-02-01T18:12:45.540 回答
0

事实证明,我需要将一些数据放入文件中,以便在正文中有一些东西。我应该早点注意到这一点。

于 2013-02-01T18:42:25.590 回答