将数据从本地应用发送到远程服务器和接收
我是个新手,想请教一下在我的项目中应该使用什么技术。不是想要代码,只是想听听大家的意见。下面是我想实现的一个简单图示:
[本地Python应用] <--这里需要建议--> [托管的网络服务器]
从上面的图示来看,我想找到一种技术,让我的本地应用能够和托管的网络服务器进行沟通。这里有个问题:我不能使用套接字,因为我使用的是共享主机,而我的主机公司对此有限制。IRC也不允许使用。我知道,这让事情变得有点复杂。
那么我还有哪些选择呢?我想了一些主意:
- 本地应用和服务器都去查询一个MySQL数据库,看有没有变化,任意一方都可以进行更改(不过我真的不喜欢这种查询的方式,而且感觉不太安全)
- 通过某种远程的HTTP POST请求把数据发送到服务器(可能可以?),然后在服务器上查询某个文件来获取指令
- 在本地运行一个网络服务器,把数据写入本地的文本文件,然后让托管的服务器去查询这个文件的变化(出于安全考虑,我真的想避免在本地运行网络服务器)。
有没有不需要查询的想法?谢谢。
2 个回答
3
也许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()
stdin
、stdout
和sdterr
是你执行的命令的输入和输出的列表。
这里有一些关于paramiko的好信息: http://jessenoller.com/2009/02/05/ssh-programming-with-paramiko-completely-different/