|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
Веб-сервис (flask)31.01.2020, 09:00. Показов 3300. Ответов 15
Метки нет (Все метки)
Добрый день! Есть код который исполняется на ОС Linux. Как с помощью веб-сервиса исполнить команду на виндовой машине и вернуть результат? (Например, список файлов переданной директории). Какой нибудь минимальный пример или план действий.
0
|
|
| 31.01.2020, 09:00 | |
|
Ответы с готовыми решениями:
15
Проблема с запуском сервера для веб-приложения на Flask Подключить PostgreSQL к Flask API и передавать данные таблицы в flask Веб-сервис файлообменник |
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
|
| 31.01.2020, 09:06 | |
|
Организовать взаимодействие между двумя процессами на двух разных машинах можно, например, с помощью Pyro (Pyro4).
Добавлено через 3 минуты А... Вам нужен flask. Ошибочка.
0
|
|
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
| 31.01.2020, 09:10 [ТС] | |
|
ioprst, Можете показать какой нибудь небольшой пример (с flask)? Гугл немного не то показывает. Если с Pyro эта задача решается проще, то буду пробовать с ним.
0
|
|
|
Просто Лис
|
||||||
| 31.01.2020, 09:20 | ||||||
|
Как вариант: цепляться по ssh к другой машине и выполнять нужные команды. Уверен, что есть ssh-сервер для винды.
http://www.fabfile.org/ Добавлено через 1 минуту
1
|
||||||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
||||||||||||||||
| 31.01.2020, 09:21 | ||||||||||||||||
|
Senarist, Pyro и Flask это немного разные вещи. Flask реализует серверную часть WEB-приложения. Pyro позволяет выполнять код на удаленной машине. Я не совсем понимаю, что вам нужно.
Привожу пример как я передавал файлы с Windows на Linux машину (т.к. тупо копипаст запретили). Сервер на linux (в основном из документации Pyro4) Кликните здесь для просмотра всего текста
Клиент на винде Кликните здесь для просмотра всего текста
Работа с клиентом Кликните здесь для просмотра всего текста
1
|
||||||||||||||||
|
Просто Лис
|
|
| 31.01.2020, 09:23 | |
|
Ничто не мешает сделать во flask вьюшку и внутри неё выполнять действия (подключаться к удалённой машине и выполнять там команды).
Добавлено через 44 секунды ioprst, веб-шелл человек пишет
0
|
|
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
| 31.01.2020, 09:39 [ТС] | |
|
0
|
|
|
Просто Лис
|
|
| 31.01.2020, 09:47 | |
|
Выше уже есть. Ставите на виндовую машину ssh-сервер. На веб-сервере герерируете ключи, закидываете на машинку с виндой публичный ключ. Проверяете, что ssh-соединение устанавливается из консоли.
А потом ставите fabric и проверяете его работу. Добавлено через 3 минуты Или веб-сервер это и есть виндовая машина?
0
|
|
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
| 31.01.2020, 10:36 [ТС] | |
|
0
|
|
|
Просто Лис
|
||||||
| 31.01.2020, 10:45 | ||||||
|
Тогда легко: https://docs.python.org/3/library/subprocess.html
Запускаете процесс и подключаетесь к его stdin/stdout Добавлено через 2 минуты
0
|
||||||
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
||||||
| 03.02.2020, 08:42 [ТС] | ||||||
|
Рыжий Лис, я не точно описал задачу. Мне нужно на сервер отправить файл, на нем его конвертнуть (subprocess) и вернуть файл уже с другим расширением (либо вернуть его двоичное представление)
@app.route('/') def form(): return """
Данный код показывает форму для выбора файла, а мне его выбирать не нужно.У меня уже к нему есть путь. Т.е. в моей задаче пользователю в браузере выбирать и нажимать ничего не нужно. Надо чтобы он просто улетел на сервер для начала.
0
|
||||||
|
Просто Лис
|
|||||||||||
| 03.02.2020, 08:56 | |||||||||||
|
Вытаскиваете из post-запроса файл(ы), сохраняете на диск. Либо настроить движок (flask), чтобы он принудительно сохранял файлы на диск, а не держал в оперативке. Потом получить путь до файла и можно конвертировать его внешней утилитой. Да хоть через subprocess (если он умеет дожидаться пока дочерний процесс не завершится).
Получаем новый файл. Вычитываем его и отправляем в браузер:
Добавлено через 1 минуту Хотя правильнее сохранять файл куда-то в папку, доступную nginx и передавать тому ссылку в заголовке X-Accel-Redirect (у меня сайт работает так). Добавлено через 2 минуты Пример для джанго:
0
|
|||||||||||
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
| 03.02.2020, 09:08 [ТС] | |
|
Рыжий Лис, я в веб еще зеленый, поэтому вопрос очень глупый. А как отправить файл на сервер? По умолчанию работает GET запрос. POST отрабатывать будет когда я в форме (в браузере) выберу файлы. Но мне выбирать их не нужно, у меня уже есть файл на HD который я хочу отправить. Остальное вроде понятно.
0
|
|
|
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
|
|
| 03.02.2020, 09:13 [ТС] | |
|
Рыжий Лис, на компьютере где браузер (т.е. на клиенте), поэтому форма выбора мне не нужна. Файл уже есть.
0
|
|
|
Просто Лис
|
|
| 03.02.2020, 11:36 | |
|
Ну если не хотите отправлять файл через браузер, отправляйте файл на сервер post-запросом из другой программы.
0
|
|
| 03.02.2020, 11:36 | |
|
Помогаю со студенческими работами здесь
16
Веб-сервис uCoz ищет веб-программиста (Ростов-на-Дону) Написать веб-сервис, который будет общаться по http c другим веб-сервисом
веб-сервис и бд Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|