Tengo este código muy simple para verificar si un sitio está activo o inactivo.Python httplib2 Manejo de excepciones
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"
Cuando ingreso una URL válida, imprime correctamente Site is Up porque el estado es 200 como se esperaba. Pero, cuando ingreso una URL no válida, ¿no debería imprimirse? El sitio está inactivo? En su lugar se imprime una excepción algo como esto
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
¿Cómo puedo anular esta excepción e imprimir mi costumbre define "El sitio está desactivado" mensaje? Cualquier orientación, por favor?
EDITAR
también una pregunta más ... ¿cuál es la diferencia entre usar
h = httplib2.Http('.cache')
y
h = httplib2.Http()
wow el manejo básico de excepciones es lo que debería aprender ahora ... ¡Muchas gracias! –