如何用Python/Django检查http上的文件是否存在?
我想知道怎么用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 请求会更高效,因为它不会获取资源的内容。