gevent有一个基本的http处理程序吗?

时间:2015-07-08 06:44:20

标签: python http gevent greenlets

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

1 个答案:

答案 0 :(得分: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