Создание веб-сервера Python для получения XML-запросов HTTP - PullRequest
1 голос
/ 04 февраля 2011

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

Я пытался сделать это в чистом Python (с CGI) на стороне сервера, но для получения прогресса в файле мне, очевидно, нужно постоянно отправлять запросы на сервер. Я пытался использовать AJAX для этого, но мне было интересно, насколько трудно было бы вместо того, чтобы перейти на какую-то другую фреймворк (например, web.py), просто написать свой собственный веб-сервер для получения XML-запросов HTTP? *

Моя главная проблема заключается в том, что отправка запроса выполняется из HTML и Javascript, поэтому на данный момент все выглядит как волшебная уловка.

Может кто-нибудь посоветовать мне, как лучше всего получать эти запросы на сервере?

РЕДАКТИРОВАТЬ: Кажется, что рамки будет путь. Будет ли web.py хорошим маршрутом?

Ответы [ 3 ]

1 голос
/ 04 февраля 2011

Я бы порекомендовал использовать такую ​​микросхему, как Sinatra для Ruby. Кажется, есть некоторые эквиваленты для Python. Какой Python-эквивалент Синатры вы бы порекомендовали?

Такая структура позволяет просто сопоставить один метод с маршрутом.

0 голосов
/ 04 февраля 2011

Нет необходимости писать свой собственный веб-сервер. Существует множество вариантов, в том числе такие легкие, как nginx.

Вы должны использовать один из них и либо свой собственный код WSGI для получения запроса, либо (лучше) один из микрофреймов, таких как Flask или Bottle.

0 голосов
/ 04 февраля 2011

Написание очень простого HTTP-сервера не составит большого труда (см., Например, http://docs.python.org/library/simplehttpserver.html), но вам будет не хватать многих функций, предоставляемых реальными серверами и веб-платформами.* Для вашего проекта я предлагаю вам выбрать одну из многих веб-фреймворков Python и запустить свое приложение за Apache / mod_wsgi.

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