我有以下网址,存在:
https://s3-us-west-1.amazonaws.com/premiere-avails/458ca3ce-c51e-4f69-8950-7af3e44f0a3d__chapter025.jpg
但是这个没有:
https://s3-us-west-1.amazonaws.com/premiere-avails/459ca3ce-c51e-4f69-8950-7af3e44f0a3d__chapter025.jpg
有没有办法检查网址是否有效,而不下载文件(可能是1GB文件)?请注意,我不想使用boto
查看密钥是否存在,我想使用HTTP
请求。
答案 0 :(得分:7)
试试这个:
import httplib
from urlparse import urlparse
def url_exists(url):
_, host, path, _, _, _ = urlparse(url)
conn = httplib.HTTPConnection(host)
conn.request('HEAD', path)
return conn.getresponse().status < 400
答案 1 :(得分:1)
你可以使用卷曲。 --head
选项将发送HEAD请求而不是GET,因此即使它确实存在也不会返回正文。
curl --head https://s3-us-west-1.amazonaws.com/premiere-avails/458ca3ce-c51e-4f69-8950-7af3e44f0a3d__chapter025.jpg