2013-01-03 2 views
9
def check_web_server(host, port, path): 
     h = httplib.HTTPConnection(host, port) 
     h.request('GET',path) 
     resp = h.getresponse() 
     print 'HTTP Response:' 
     print ' status =', resp.status 
     print ' reason =', resp.reason 
     print 'HTTP Headers:' 
     for hdr in resp.getheaders(): 
       print ' %s: %s' % hdr 

ich diese Funktion wie diese check_web_server('www.python.org',80,'/') genannt, aber es gab mir diesen Fehler error: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respondErrno 10060] Ein Verbindungsversuch ist fehlgeschlagen, da die verbundene Partei nicht richtig nach einer Zeitspanne ansprachen

Sie können das sehen Code hier deutlich http://pastebin.com/V9KpGkvw

ich habe hier in Stackoverflow gesucht, aber ich habe nicht alle relevanten Fragen finden sorry ich bin neu in Website, wenn ich etwas falsch gemacht habe.

+2

Ihre Einrichtung sein muss, funktioniert für mich. Versuchen Sie 'ping www.python.org' und' telnet www.python.org 80' in Ihrer Shell, um zu sehen, ob python.org tatsächlich von Ihrem Entwicklungs-Setup erreichbar ist. – Kimvais

+0

es ist erreichbar mit Ping www.python.org – ZenOut

+2

Funktioniert hier gut, muss mit einem Problem mit Ihrer Konfiguration verbunden sein. – sb9

Antwort

7

Da ping funktioniert, aber telnet zu Port 80 nicht, ist der HTTP-Port 80 auf Ihrem Computer geschlossen. Ich nehme an, dass die HTTP-Verbindung Ihres Browsers über einen Proxy läuft (da das Surfen funktioniert, wie sonst würden Sie Stackoverflow lesen?). Sie müssen einige Code in Ihre Python-Programm hinzuzufügen, Griffe, dass die Proxy, wie hier beschrieben:

Using an HTTP PROXY - Python

+1

Dies ist wahrscheinlich die richtige Antwort, aber ich denke, die genauere Diagnose ist nicht, dass Port 80 notwendigerweise auf [OPs] Maschine" geschlossen ist, was bedeutet, dass ein lokaler Dienst nicht zuhört, sondern eher Port 80 Zugriff auf www. python.org ist blockiert, sei es durch eine Firewall (entweder lokal oder remote) oder durch eine andere Netzwerkbedingung. – zigg

+1

Sie haben Recht, aber das habe ich auch gemeint. "closed" sollte ein Synonym für "not accessable" sein, egal ob lokal oder durch Firewall blockiert – sb9

Verwandte Themen