Отправка данных в локальное приложение и из него на удаленный сервер - PullRequest
1 голос
/ 19 ноября 2011

Новичок здесь, ищет советы о том, какие технологии мне следует использовать для моего конкретного проекта. Не ищу код как таковой, просто мнения. Вот ужасная диаграмма того, чего я пытаюсь достичь:

[локальное приложение Python] <- СОВЕТЫ НУЖНЫ ЗДЕСЬ -> [размещенный веб-сервер]

Итак, я ищу технологию, которая позволит моему локальному приложению взаимодействовать с размещенным веб-сервером. Вот ловушка: Я не могу использовать сокеты , так как я нахожусь на плане общего хостинга, и моя хостинговая компания ограничивает это. IRC также отрицается. Я знаю, это немного сложно.

Значит, у меня есть выбор? Вот некоторые идеи, которые у меня были:

  1. И локальное приложение, и сервер опрашивают базу данных MySQL на предмет изменений, и любой из них может вносить изменения (однако мне не очень нравится идея опроса, и она не кажется безопасным решением)
  2. Выполните какое-нибудь удаленное http-сообщение, чтобы получить данные на сервер (возможно?), Затем опрашивайте какой-нибудь файл на сервере для получения команд
  3. Локальный запуск веб-сервера, локальная запись данных в текстовый файл, а затем размещение файла опроса сервера для внесения изменений (я действительно стараюсь избегать локального запуска веб-сервера по соображениям безопасности).

Есть идеи без опроса? Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Может быть, 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/

0 голосов
/ 19 ноября 2011

Не уверен, правильно ли я понял все ваши спецификации, но первое, что пришло мне в голову, - это использование RESTful webservice.

Здесь вы можете найти вопрос StackOverflow, который дает некоторое представление о том, как реализовать их с помощью python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...