私は基本的なエコー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
。サーバー側で何を追加する必要がありますか。