我正在尝试使用gevent.server构建一个基本的Web服务器,并且很想知道是否有任何baseHTTPHandlers,我可以使用。
答案 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