Код ниже эквивалентен ответу tikiboy , но с использованием высокоуровневой и простой в использовании запросов библиотеки.
import requests
def exists(path):
r = requests.head(path)
return r.status_code == requests.codes.ok
print exists('http://www.fakedomain.com/fakeImage.jpg')
The requests.codes.ok
равно 200
, поэтому вы можете заменить точный код состояния, если хотите.
requests.head
может выдать исключение , если сервер не отвечает, поэтому вы можете захотетьдобавьте конструкцию try-exc.
Также, если вы хотите включить коды 301
и 302
, рассмотрите также код 303
, особенно если вы разыменовываете URI , которые обозначают ресурсы Связанные данные .URI может представлять человека, но вы не можете загрузить человека, поэтому сервер перенаправит вас на страницу, которая описывает этого человека, используя 303 redirect .