0

私は基本的なエコーhttpサーバーとツイストを使用したhttpclintを構築しようとしています。これが私の例です。これは私が書いたものではなく、iamはこれら2つの実装のハンドシェイクを理解しようとしています。

これは私のclient.pyです

from StringIO import StringIO

from twisted.internet import reactor
from twisted.web.client import Agent
from twisted.web.http_headers import Headers

from twisted.web.client import FileBodyProducer

agent = Agent(reactor)
body = FileBodyProducer(StringIO("hello, world"))
d = agent.request(
    'GET',
    'http://example.com/',
    Headers({'User-Agent': ['Twisted Web Client Example'],
         'Content-Type': ['text/x-greeting']}),
    body)

def cbResponse(ignored):
   print 'Response received'
d.addCallback(cbResponse)

def cbShutdown(ignored):
    reactor.stop()
d.addBoth(cbShutdown)

reactor.run()

これは私のserver.pyです

from twisted.web import server, resource
from twisted.internet import reactor

class Simple(resource.Resource):
    isLeaf = True
    def render_GET(self, request):
        print request

site = server.Site(Simple())
reactor.listenTCP(8080, site) 
reactor.run()

サーバーコンソールで印刷したい。クライアントの本文のメッセージhello world。サーバー側で何を追加する必要がありますか。

4

1 に答える 1

1

Request.content

def render_GET(self, request):
    print request.content.read()

http://twistedmatrix.com/documents/current/api/twisted.web.iweb.IRequest.html#contentを参照してください

于 2013-02-08T19:31:47.663 に答える