2011-11-19 58 views
1

新手在這裏尋找關於哪些技術我應該用於我的特定項目的建議。不尋找代碼本身,只是意見。下面是我想要達到一個醜陋圖:將數據發送到本地應用程序和從本地應用程序發送到遠程託管服務器

[本地Python應用程序] < --ADVICE NEEDED這裏 - > [託管Web服務器]

所以從上面的,我期待對於允許我的本地應用程序與託管的Web服務器通信的技術。這裏的陷阱:我不能使用套接字,因爲我在共享主機方案,我的託管公司限制了這一點。 IRC也被拒絕。我知道,使它有點棘手。

那麼我還有剩下的選擇嗎?這裏的一些想法,我有:

  1. 本地應用程序和服務器輪詢一個MySQL數據庫更改,並且或者可以做出改變(我真的不喜歡但是投票的想法,似乎並不像一個安全解決方案)
  2. 做一些遠程http post來獲取數據到服務器(可能?),然後輪詢服務器上的某個文件以獲取命令
  3. 在本地運行Web服務器,在本地將數據寫入文本文件,然後託管的服務器輪詢文件的變化(我真的想避免本地運行Web服務器出於安全原因)。

任何想法,無需投票?謝謝。

+0

與MySQL服務器交談涉及使用套接字。製作HTTP POST涉及使用套接字。任何要連接到本地Web服務器的應用程序都將使用套接字來執行此操作。你確定你不能使用套接字嗎? –

回答

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() 

stdinstdoutsdterr與列表您執行的命令的輸入/輸出。

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

+0

謝謝,這實際上是一個非常好的想法,並且該軟件包捆綁在我的虛擬主機上。然而,無論出於什麼原因,我無法與paramiko建立SSH連接(儘管我通過PuTTY使用了相同的憑據,而且工作得很好)。也許我的主機阻塞了連接?我會多看看它。 – radian

+0

不要忘記這個:'ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())',這可能是問題所在。你讀過博客嗎?它實際上是相當完整的 – juliomalegria

1

不知道如果我理解您的所有規格的正確,但是這是要我想到的第一件事是用RESTful web服務。

Here你可以找到一個StackOverflow的問題,提供一些洞察用python實現它們。

+0

謝謝,我將不得不多看看這一點。似乎有點整潔。 – radian

相關問題