Я использую Python в течение многих лет, но у меня мало опыта веб-программирования на Python. Я хотел бы создать очень простой веб-сервис, который предоставляет некоторые функции из существующего скрипта Python для использования в моей компании. Скорее всего, он вернет результаты в формате csv. Какой самый быстрый способ что-то поднять? Если это повлияет на ваше предложение, я, вероятно, добавлю к нему дополнительные функции в будущем.
python
web-services
Джереми Кантрелл
источник
источник
Ответы:
Взгляните на werkzeug . Werkzeug начинался как простой набор различных утилит для приложений WSGI и стал одним из самых продвинутых служебных модулей WSGI. Он включает в себя мощный отладчик, полнофункциональные объекты запросов и ответов, HTTP-утилиты для обработки тегов сущностей, заголовки управления кешем, даты HTTP, обработку файлов cookie, загрузку файлов, мощную систему маршрутизации URL-адресов и множество дополнительных модулей, внесенных сообществом.
Он включает в себя множество интересных инструментов для работы с http и имеет то преимущество, что вы можете использовать его с wsgi в разных средах (cgi, fcgi, apache / mod_wsgi или с простым простым сервером python для отладки).
источник
web.py , вероятно, самый простой веб-фреймворк. «Голая» CGI проще, но когда дело доходит до создания сервиса, который действительно что-то делает, вы полностью сами по себе.
"Привет мир!" согласно web.py не намного больше , чем голая версия CGI, но это добавляет отображение URL, HTTP команды различие, и запрос параметры синтаксический анализ бесплатно :
import web urls = ( '/(.*)', 'hello' ) app = web.application(urls, globals()) class hello: def GET(self, name): if not name: name = 'world' return 'Hello, ' + name + '!' if __name__ == "__main__": app.run()
источник
Самый простой способ получить скрипт Python в сети - использовать CGI:
#!/usr/bin/python print "Content-type: text/html" print print "<p>Hello world.</p>"
Поместите этот код в сценарий, который находится в каталоге CGI вашего веб-сервера, сделайте его исполняемым и запустите. В
cgi
модуле есть ряд полезных утилит, когда нужно принимать параметры от пользователя.источник
Raw CGI - это своего рода боль, Django - тяжеловес. Существует ряд более простых и легких фреймворков, например CherryPy . Стоит немного осмотреться.
источник
Посмотрите на эталонную реализацию WSGI . Он уже есть в ваших библиотеках Python. Все очень просто.
источник
Если вы имеете в виду под «веб-службой» что-то, к чему обращаются другие программы, SimpleXMLRPCServer может вам подойти. Он входит в каждую установку Python, начиная с версии 2.2.
Для простых вещей, доступных человеку, я обычно использую Pythons SimpleHTTPServer, который также поставляется с каждой установкой. Очевидно, вы также можете получить доступ к SimpleHTTPServer с помощью клиентских программ.
источник
Жизнь проста, если у вас есть хороший веб-фреймворк. Веб-сервисы в Django просты. Определите свою модель, напишите функции просмотра, которые возвращают ваши CSV-документы. Пропустите шаблоны.
источник
Если вы имеете в виду «веб-сервис» в смысле SOAP / WSDL, вы можете посмотреть на Создание WSDL с использованием Python и SOAPpy
источник
возможно Twisted http://twistedmatrix.com/trac/
источник