2009-08-28 8 views

Antwort

7

Versuchen

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

und sehen, ob das funktioniert, oder wenn es eine Ausnahme auslöst. Auch wenn Sie nicht den genauen Code verwenden, sollten Sie die Idee bekommen.

+2

Lol, es gibt nur ein falsches Negativ wenn SO runter ist ;-). Überprüfen Sie besser ein paar Sites und nehmen Sie Verbindung an, wenn mindestens eins oben ist. –

+0

Es war nur eine Illustration - benutze jede Seite, die du willst! –

+0

kann es auch fehlschlagen, wenn ein Proxy-Server ausgeführt wird. –

16

Wenn Sie python2.6 haben, können Sie eine Zeitüberschreitung festlegen. Andernfalls blockiert die Verbindung möglicherweise für eine lange Zeit.

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

+1 für die Zeitüberschreitung. Wie Gamecat sagte, könnte es auch bedeuten, dass example.com nicht erreichbar ist :-) –

+11

@Vinay, das stimmt. Vielleicht sollte er google.com ausprobieren. Wenn Google unten war. Dann schätze ich, dass es kein Internet gibt;) –

+1

Sie können ein Timeout in 2.5 auch setzen, indem Sie import socket verwenden; socket.setdefaulttimeout (); – tgray

Verwandte Themen