从本地应用程序向远程托管服务器发送数据

时间:2011-11-19 16:00:27

标签: python sockets networking shared-hosting

新手在这里,寻找关于我应该为我的特定项目使用哪种技术的建议。不寻找代码本身,只是意见。这是我想要实现的一个丑陋的图表:

[本地Python应用]< - 此处需要建议 - > [托管网络服务器]

所以,从上面,我正在寻找允许我的本地应用程序与托管Web服务器通信的技术。这是陷阱:我不能使用套接字,因为我在共享主机方案上,而我的托管公司限制了这一点。 IRC也被拒绝。我知道,这有点棘手。

我还有选择吗?这是我的一些想法:

  1. 本地应用程序和服务器都会轮询MySQL数据库以进行更改,并且可以进行更改(我真的不喜欢轮询的想法,但似乎不是一个安全的解决方案)
  2. 做一些远程http post来获取数据到服务器(可能吗?),然后在服务器上查询一些文件以获取命令
  3. 在本地运行Web服务器,在本地写入数据文本文件,然后托管服务器轮询文件以进行更改(出于安全原因,我真的试图避免在本地运行Web服务器)。
  4. 任何想法,而不必投票?感谢。

2 个答案:

答案 0 :(得分:2)

也许paramiko可以很好地解决您的问题。我在半年前的一些项目中使用了paramiko,这是我的代码的一部分,我与另一台计算机/服务器连接并执行了一个简单的python文件:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
IP = '...'
username = '...'
password = '...'
ssh.connect(IP, username, password)
stdin, stdout, stderr = ssh.exec_command('python hello.py')
ssh.close()

stdinstdoutsdterr是包含您执行的命令的输入/输出的列表。

以下是有关paramiko的一些很好的信息:http://jessenoller.com/2009/02/05/ssh-programming-with-paramiko-completely-different/

答案 1 :(得分:0)

不确定我是否正确理解了您的所有规范,但我想到的第一件事就是使用RESTful网络服务。

Here你可以找到一个StackOverflow问题,它提供了一些使用python实现它们的见解。