如何用Python/Django检查http上的文件是否存在?

4 投票
2 回答
12029 浏览
提问于 2025-04-17 01:47

我想知道怎么用Python/Django来检查一个文件在http上是否存在。

我想检查这个文件:http://hostname/directory/file.jpg,看看它是否存在。

2 个回答

6

你可以用一个HEAD请求来实现这个。想了解更多信息,可以查看这个问题。如果你收到的状态码是200,那就说明没问题,但你也可以检查一下内容类型。

14

试试 urllib2.urlopen

import urllib2
ret = urllib2.urlopen('http://hostname/directory/file.jpg')
if ret.code == 200:
    print "Exists!"

注意,你检查的不是 文件 是否存在,而是 资源 是否存在。

编辑:用户 Geo 的另一个回答更好,因为使用 HEAD 请求会更高效,因为它不会获取资源的内容。

撰写回答