我正在尝试使用gevent构建一个基本的web服务器。服务器,并好奇地知道是否有任何baseHTTPHandlers,我可以使用
是的,gevent自带两个HTTP服务器实现,你可以使用:
-
gevent。wsgi -快速,基于libbeent的实现,但提供有限的功能。
-
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