2009-08-28 25 views

Respuesta

7

Trate

import urllib 
file = urllib.urlopen("http://stackoverflow.com/") 
html = file.read() 

y ver si funciona, o si se produce una excepción. Incluso si no usa el código exacto, debe hacerse una idea.

+2

Lol, solo da un falso negativo si SO está abajo ;-). Mejor verifique un par de sitios y asuma la conexión si al menos uno está activo. –

+0

Era solo una ilustración: ¡utilice el sitio que desee! –

+0

también puede fallar si se está ejecutando un servidor proxy. –

16

Si tiene python2.6 puede establecer un tiempo de espera. De lo contrario, la conexión podría bloquearse por un tiempo prolongado.

try: 
    urllib2.urlopen("http://example.com", timeout=2) 
except urllib2.URLError: 
    # There is no connection 
+1

+1 por el tiempo de espera. Como dijo Gamecat, también podría significar que example.com está fuera de servicio :-) –

+11

@Vinay, eso es correcto. Tal vez debería probar google.com. Si google estaba caído Entonces supongo que no hay internet;) –

+1

puede establecer un tiempo de espera en 2.5 también usando el socket de importación; socket.setdefaulttimeout (); – tgray

Cuestiones relacionadas