【发布时间】:2025-12-04 09:35:01
【问题描述】:
我有一个在 localhost 的 9999 端口上运行的回显服务器。我正在使用 twisted 开发一个 Web 服务器(我通常是 twisted 和 python 的新手)。客户端将使用带有 HTTP 的分块编码流式传输数据。我希望服务器做的是将此数据发送到端口 9999 并从那里获取响应并作为 http 响应写回。但我什至无法使发送部分工作。这是我到目前为止所做的。
从 twisted.web 导入服务器,资源 从 twisted.internet 导入反应器,端点 从 twisted.internet.protocol 导入协议,工厂 类 Clientp(协议): def __init__(self, req): self.req = 请求 def connectionMade(self): self.transport.writeSequence(self.req.content.read()) 定义数据接收(自我,数据): print ("+得到回复" + str(data)) # 我必须在这里通过 resposne 发送数据 类计数器(资源。资源): isLeaf = 真 numberRequests = 0 def render_POST(self, request): 定义客户端协议(): 返回客户端(请求) 端点=端点。TCP4ClientEndpoint(反应器,“127.0.0.1”,9999) 端点.connect(Factory.forProtocol(clientProtocol)) 返回 server.NOT_DONE_YET endpoints.serverFromString(reactor, "tcp:8000").listen(server.Site(Counter())) 反应堆.run()我无法将帖子内容 (request.content.read()) 写入 TCP 端点。我收到TypeError("Data must be bytes") 错误。有什么想法
【问题讨论】: