2010-01-27 12 views
13

Ich bin nach einem Beispiel, das die Verwendung von Twisted HTTP Client beschreibt.twisted HTTP-Client

Nach dem Lesen der ausgezeichneten blog post on the internals of Twisted, verstehe ich, wie die "Factory" und "Protocol" Komponenten ihre Rolle spielen, aber ich bin unklar, wie man "Request" in den gesamten Client-Flow einzuführen.

Genauer gesagt, ich muss in der Lage sein HTTP GET und POST-Anfragen an einen Remote-Server mit Twisted durchzuführen.

Aktualisiert: Nach einer Diskussion über irC#twisted/#python, scheint es, dass twisted.web2 zugunsten weg Funktionalität beefing schwindet auf twisted.web z.B. Agent.

Antwort

17

Ab Twisted 9.0 sind tatsächlich zwei HTTP-Clients verfügbar. Der ältere hat einige Funktionen, wie automatische Umleitungen folgende, Cookie-Header zu interpretieren, etc. Sie können ein Beispiel für seine Verwendung finden Sie hier:

http://twistedmatrix.com/documents/current/web/examples/

(getpage.py und dlpage.py)

Leider Die vom älteren Client angebotene Schnittstelle erschwert eine Reihe von allgemeinen Aufgaben. Wenn Sie beispielsweise getPage verwenden, können Sie keine willkürlichen Antwortheader untersuchen.

Der neuere HTTP-Client ist noch nicht so leistungsfähig wie der alte, aber es stellt eine Schnittstelle dar, die die Beschränkungen von getPage beseitigen soll. Es soll auch einfacher erweitert und angepasst werden. Sie können ein Dokument beschreibt seine Verwendung finden Sie hier:

http://twistedmatrix.com/documents/current/web/howto/client.html

+0

Wunderbar! Genau das, was ich brauche! – jldupont

+1

... außer es ist nur in 9.0.0 verfügbar ... arhhh! – jldupont

+5

Möchten Sie, dass wir aufhören, uns zu verbessern, so dass neue Versionen nichts Gutes enthalten? :) – Glyph