【发布时间】:2015-07-08 06:44:19
【问题描述】:
我正在尝试使用 gevent.server 构建一个基本的 Web 服务器,并且很想知道是否有任何我可以使用的 baseHTTPHandlers。
【问题讨论】:
标签: python http gevent greenlets
我正在尝试使用 gevent.server 构建一个基本的 Web 服务器,并且很想知道是否有任何我可以使用的 baseHTTPHandlers。
【问题讨论】:
标签: python http gevent greenlets
是的,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
【讨论】: