12

你能推荐一个我可以嵌入到我的桌面应用程序中的简约 python 网络服务器吗?

4

7 回答 7

17

多么简约,目的是什么?

SimpleHTTPServer作为标准 Python 库的一部分免费提供。

如果您需要更多功能,请查看CherryPy或(在顶端)Twisted

于 2008-11-19T17:06:47.673 回答
5

我正在成为新发布的电路库的忠实粉丝。它是一个组件/事件框架,带有一组非常好的用于创建 Web 服务器和应用程序的包。这是该站点的简单 Web 示例:

from circuits.lib.web import Server, Controller

class HelloWorld(Controller):
   def index(self):
      return "Hello World!"

server = Server(8000)
server += HelloWorld()
server.run()

它的 WSGI 支持也不比这更复杂。好东西。

于 2008-11-20T07:04:08.747 回答
4

如果你正在做很多并发的事情,你可能会考虑KamaeliaHTTPServer

于 2008-11-19T17:26:08.773 回答
3

我发现 web.py 很容易使用:http ://webpy.org/

于 2008-11-20T11:39:49.067 回答
3

如果您想使用标准库中的某些内容,我强烈建议您不要使用 SimpleHTTPServer,而是使用wsgiref.simple_server. SimpleHTTPServer 是一种笨拙且相当荒谬的方式来实现 Web 应用程序,虽然原始 WSGI 不是非常容易(但肯定是可能的),但您可以选择在它之上使用任何基于 WSGI 的框架。此外,如果您使用 wsgiref,您稍后可以选择更改为像 CherryPy 这样的服务器(请注意,CherryPy 中的服务器可以与框架的其余部分分开使用,您只需要一个文件用于服务器)。对于“真正的”Web 应用程序,CherryPy 比 wsgiref 有几个优点,但对于本地托管的应用程序,它们中的任何一个都不太重要。

如果您正在制作桌面应用程序,您将需要为 wsgiref 或 CherryPy 启动一个单独的线程。如果没问题,那么基于 WSGI 的服务器可能是最简单的。如果您不想为服务器启动单独的线程,那么您很可能需要使用 Twisted。

于 2008-11-20T23:35:48.713 回答
1

请参阅WSGI 参考实现。

于 2008-11-19T17:05:41.357 回答
0

我做了这个。 它只是稍微增强了 Python 的 SimpleHTTPServer,让您可以根据请求定义自定义操作。

于 2008-11-19T17:21:06.677 回答