2

我已经使用 python 有一段时间了。最近我接触了 Sockets with Twisted,这对学习 Telnet、SSH 和消息传递很有帮助。我想接受一个想法并以网络方式实现它。一周的搜索,我真正能做的就是创建一个资源来处理自己的 GET 和 POST。有人告诉我这是不好的做法。

所以一周后我的问题是:
* Tornado 和标准 Python 套接字等其他选项是更好(或更流行)的方法吗?
* 真的应该在 Twisted GET 和 POST 操作中使用单独的资源吗?
* 在 Python 开发这个领域有什么好的入门资源?

我的语言背景是 C、Java、HTML/DHTML/XHTML/XML,我的主要系统(甚至家庭)是 Linux。

4

3 回答 3

1

我建议不要构建自己的 Web 服务器并处理原始套接字调用来构建 Web 应用程序;将您的 Web 服务编写为 wsgi 应用程序并使用现有的 Web 服务器更有意义,无论它是像 tornado 还是带有 mod_wsgi 的 apache。

于 2010-01-22T04:36:22.817 回答
1

如果您正在做的更像是一个网站而不是 API,请考虑使用像Django这样的普通 Web 框架。

于 2010-01-22T04:38:03.593 回答
0

我将尝试分别回答您的各种观点。

Tornado 和标准 Python 套接字等其他选项是更好(或更流行)的方法吗?

WSGI 框架是目前最流行的选择。它们可以让你访问GETPOST原语,但通常用足够的语法糖来包装它们,让你快速参加比赛。

几乎没有人处理 htt 的套接字。给你一个想法,一个更流行的 http 库,请求最初被包装urrllib2 到最近

真的应该在 Twisted GET 和 POST 操作中使用单独的资源吗?

因为我不是 Twisted 开发人员,所以我不能谈论这个。它本身似乎是一种语言。

在 Python 开发这个领域有什么好的入门资源?

对于处理GETsPOSTsWebob可能是一个不错的起点。

对于更多上下文,webob 正在包装来自WSGI的基本 Python 原语(与“威士忌”押韵)。WSGI 是 Web 应用程序和服务器之间的接口,与CGI不同。

PEP 3333是定义 WSGI 标准的文档,如果您对 http 的细节感兴趣,这是一个非常好的起点。

在堆栈中稍微低一点,还有一些值得一试的 WSGI 服务器。云托管的平台即服务 (PaaS) 选项(如Google App EngineHeroku )将为您处理细节。另一方面,有专门的 wsgi 服务器,例如gunicornTornado,后者您已经很熟悉了。

如果您只想完成工作,请查看BottleFlaskDjango或任何其他出色的 Python Web 框架。

于 2012-01-26T07:25:38.490 回答