0

我希望下载与 html 文档中的一组链接相关的文件。

链接可能如下所示:

<a href="d?kjdfer87">

但是当我在浏览器中单击它时,我会下载以下文件:

file2.txt

以下将通过python下载文件:

opener = urllib.request.build_opener()
r = opener.open("unknown.txt")
r.read()

但是我如何确定该文件实际上被称为 file2.txt?

4

4 回答 4

2

检查Content-Disposition响应的标题。它可以建议一个文件名。我相信这会在r.info().dict['Content-Disposition'].

于 2013-10-20T19:49:32.727 回答
1

其实很简单:

r.info().get_filename()
于 2013-10-20T20:04:24.967 回答
0

我不确定你为什么认为你需要这个名字。您应该以与浏览器完全相同的方式调用它,即使用 href 中的值。

于 2013-10-20T19:48:15.203 回答
0

HTTP 响应中的Content-Disposition标头指定应使用特定文件名下载响应。

请参阅: 如何在 HTTP 中对 Content-Disposition 标头的文件名参数进行编码?

于 2013-10-20T19:49:53.433 回答