2009-03-25 11 views
1

Sehr gelegentlich, wenn ich eine HTTP-Anfrage, warte ich auf ein Alter für eine Antwort, die nie kommt. Wie wird empfohlen, diese Anfrage nach einer angemessenen Zeit abzubrechen?Timeout auf eine HTTP-Anfrage in Python

+0

Welcher Code verwenden Sie den Antrag zu stellen? –

Antwort

2

Legen Sie das HTTP-Anforderungstimeout fest.

+0

Ich muss ziemlich müde sein, nicht zu denken, zuerst dort zu suchen, Danke! – wodemoneke

1

Der Timeout-Parameter ist urllib2.urlopen oder httplib. Das ursprüngliche urllib hat keine solche bequeme Eigenschaft. Sie können auch einen asynchronen HTTP-Client wie twisted.web.client verwenden, aber das ist wahrscheinlich nicht notwendig.

1

Wenn Sie eine Menge von HTTP-Anfragen, können Sie diese global durch socket.setdefaulttimeout Aufruf ändern

+0

Danke, ich mache das, weil es scheint, dass der Timeout-Parameter nur in Python 2.6 hinzugefügt wurde und ich 2.5 als unterstützen muss. Gut – wodemoneke