У меня есть очень простой код, чтобы проверить, работает ли сайт или нет.
import httplib2
h = httplib2.Http()
response, content = h.request("http://www.folksdhhkjd.com")
if response.status == 200:
print "Site is Up"
else:
print "Site is down"
Когда я ввожу действительный URL-адрес, он правильно печатает «Сайт активен», потому что статус «200», как и ожидалось. Но когда я ввожу неверный URL-адрес, не должен ли он распечатать сайт не работает? Вместо этого он печатает исключение примерно так:
Traceback (most recent call last):
File "C:\Documents and Settings\kripya\Desktop\1.py", line 3, in <module>
response, content = h.request("http://www.folksdhhkjd.com")
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1436, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1188, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1129, in _conn_request
raise ServerNotFoundError("Unable to find the server at %s" % conn.host)
ServerNotFoundError: Unable to find the server at www.folksdhhkjd.com
Как я могу переопределить это исключение и напечатать мое пользовательское сообщение "Сайт не работает"? Любое руководство, пожалуйста?
EDIT
Также еще один вопрос ... в чем разница между
h = httplib2.Http('.cache')
и
h = httplib2.Http()