【问题标题】:Does gevent has a basic http handler?gevent 有基本的 http 处理程序吗?
【发布时间】:2015-07-08 06:44:19
【问题描述】:

我正在尝试使用 gevent.server 构建一个基本的 Web 服务器,并且很想知道是否有任何我可以使用的 baseHTTPHandlers。

【问题讨论】:

    标签: python http gevent greenlets


    【解决方案1】:

    是的,gevent 带有两个可以使用的 HTTP 服务器实现:

    • gevent.wsgi - 快速、基于 libevent 的实现,但功能有限。

    • gevent.pywsgi - 较慢的纯 gevent 实现,但提供更多功能(流、流水线、SSL)。

    这是一个简单的例子(摘自 gevent 文档):

    #!/usr/bin/python
    """WSGI server example"""
    from __future__ import print_function
    from gevent.pywsgi import WSGIServer
    
    def application(env, start_response):
        if env['PATH_INFO'] == '/':
            start_response('200 OK', [('Content-Type', 'text/html')])
            return [b"<b>hello world</b>"]
        else:
            start_response('404 Not Found', [('Content-Type', 'text/html')])
            return [b'<h1>Not Found</h1>']
    
    if __name__ == '__main__':
        print('Serving on 8088...')
        WSGIServer(('', 8088), application).serve_forever()
    

    欲了解更多信息,请参阅http://www.gevent.org/servers.html

    另见http://blog.pythonisito.com/2012/08/building-web-applications-with-gevents.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多