首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从BaseHTTPRequestHandler访问HTTPServer成员?

如何从BaseHTTPRequestHandler访问HTTPServer成员?
EN

Stack Overflow用户
提问于 2011-04-09 09:58:35
回答 1查看 2K关注 0票数 2

我正在组装一个小应用程序,其中包括GUI、HTTP和TCP服务器。GUI控制从HTTP和TCP服务器返回给客户端的响应。我使用HTTPServer和SocketServer.TCPServer类作为服务器,同时使用BaseHTTPRequestHandler和StreamRequestHandler的子类。但是,让我们首先关注HTTP方面的事情。

当HTTPServer收到请求时,它应该检查图形用户界面的状态,并做出适当的响应。我已经向HTTPServer添加了一个指向图形用户界面的成员变量,但是找不到从BaseHTTPRequestHandler子类访问这个字段的好方法。如何做到这一点?

下面是我目前拥有的代码,尽管Python抛出了一个异常MyHTTPHandler instance has no attribute 'server'

代码语言:javascript
复制
class MyHTTPHandler(BaseHTTPRequestHandler):
    def __init__(self, request, client_address, server):
        BaseHTTPRequestHandler.__init__(self, request, client_address, server)
        self._server = server

    def do_GET(self):
        self._server.get_interface().do_something()
        [...]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-09 10:53:45

BaseHTTPRequestHandler有一个内置的属性server。不确定为什么要在继承的类中设置另一个self._server。如果您还可以复制get_interface()方法中的代码,这将非常有用。还有,这个'server‘参数是什么?继承的HttpServer实例

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5602412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档