2011-11-11 128 views
1

我有一个程序,我在Python中收集数据。我希望能够将数据存储在互联网上的某个位置,并允许其他用户通过另一台计算机从世界上任何地方的互联网连接访问它。我最初的想法是使用电子邮件客户端(例如g-mail)通过发送pickled字符串到地址来存储数据。这将允许任何人访问该地址并简单地读取最新的电子邮件来获取数据。它完美运行,但该程序需要每隔5-30秒发送一个新电子邮件。因此,由于电子邮件上的限制邮件,以及其他原因,例如我无法完全删除旧电子邮件,该方法一直没有通过。通过网络发送数据到远程程序使用python

现在我想尝试一个不同的想法,但我对python的网络编程知之甚少。我想设置一个基本上没有任何内容的网页。实际收集数据的“主”程序将向网页发送一个腌制字符串。然后任何“远程”程序将能够读取字符串。我还需要主程序在更新网页时删除旧字符串。最好能够存储多个字符串,所以当远程正在读取时,主机不可能更新。

我不知道这是否是Python中可行的任务,但任何和所有想法都是值得欢迎的。另外,如果你有一个关于如何以不同方式做到这一点的想法,在这种情况下,我全都是耳朵,眼睛好。

回答

2

我会建议看看在谷歌应用程序引擎设置一个简单的网站。它是免费的,你可以使用python来做网站。它只是创建一个简单的宁静服务的问题,您可以使用您的pickled数据发送POST并将其存储在数据库中。不只是在数据库上创建一个简单的Web前端。

+0

+1,同样的事情,我打算发布。我看到的唯一问题是安全性......您可能想要使用某种方法来检查完整性和源代码,因此请使用类似HMAC_SHA1或完整的OAuth实现的方法。 –

+0

从我一直在阅读中,谷歌应用程序引擎看起来非常有前途,但我确实有一个问题。我发送的数据量不小。它们是大块的数组,反过来,腌制的字符串非常大。网站的帖子大小是否有限制? – Mink

+0

除了酸洗它们还有其他的方法可以使用吗? – Casey

1

除了什么凯西已经提供了另一种选择:

建立远程MySQL数据库的地方,有用户访问级别允许远程连接。然后,您的Python程序可以简单地访问数据库和集中存储的数据(例如,通过MySQLDb软件包或pyodbc软件包)。然后,用户可以通过支持MySQL的客户端读取数据,也可以使用Python或PHP编写简单的前端,以显示数据库中的数据。

0

添加此作为一个答案,这样OP会更容易看到它... ...

请务必考虑安全性!如果你只是盲目接受腌制数据,它可能会让你打开任意代码执行。

0

我建议你使用一个好的中间件:Zero-C ICE,Pyro4,Twisted。

Pyro4使用pickle来序列化数据。

相关问题