与远程服务器通信并允许用户通过web浏览器与其“交互”(IE提交命令、用户界面) (IE是输入命令的文本框、输出文本区域或各种命令较少抽象的接口)的有效方法(最好是简单的)是什么?
我已经完成了用于通信和工作的“独立”python代码(现在基于终端/控制台)。我主要关注的是重新分解代码以实现web套件,这涉及到建立连接(python套接字),以及在用户登录时维护连接。
一些进一步的细节:
发布于 2010-04-15 19:58:52
正如fmsf所说,最有效的方法可能是设置REST。通常,每个命令对应一个URL,并附加其他变量:
http://example.com/nuclear_warhead/activate/1
http://example.com/nuclear_warhead/activate/2
http://example.com/nuclear_warhead/activate/3
http://example.com/nuclear_warhead/position/1/AtlanticOcean
http://example.com/nuclear_warhead/position/2/NorthPole
http://example.com/nuclear_warhead/position/3/Moon
http://example.com/nuclear_warhead/launch/1
http://example.com/nuclear_warhead/launch/2
http://example.com/nuclear_warhead/launch/3您可以将它们作为客户端操作(它们单击链接或提交表单)或Ajax调用。对于Ajax调用,它们会填写一个复杂的表单,表单将其格式化为一个可接受的URL,并附带数据,并将其发送到服务器。一旦服务器处理了这些命令,它就会返回一个结果(通常是XML或JSON格式),该结果由浏览器解析并显示在页面上。
在完整的RESTful应用程序中,您可以使用不同的HTTP、GET、PUT和DELETE方法来处理记录
http://example.com/secret_document/1 [POST] -创建文档http://example.com/secret_document/1 [PUT] -更新文档http://example.com/secret_document/1 [GET] -检索文档http://example.com/secret_document/1 [DELETE] -删除文档
然而,并不是所有的浏览器都能支持所有的HTTP方法。
在实现方面,Django是一个选项,但对于您要寻找的内容来说,它有点重量级。您可能想看看这篇文章,它完整地描述了如何设置一个轻量级应用程序来响应web客户端请求。您肯定可以扩展它以添加更多功能。
发布于 2010-04-15 17:45:20
如果您正在使用django,并且希望前端(浏览器中的html)与服务器对话,那么您应该很容易适应AJAX。
这将简化你的生活
发布于 2010-04-16 02:52:00
在weberror.pdbcapture中有一些疯狂的代码可以通过网络进行一般的交互。它被实现为WSGI中间件,基本上可以监听任何人在sys.stdin上请求输入,当这种情况发生时,它开始从web表单获取输入,并将输出发送回同一页面。你可能不想直接使用它,但如果你真的想要通过网络的控制台(听起来像是你想要的,我不太清楚),它会给出一些想法。
https://stackoverflow.com/questions/2647685
复制相似问题