Я использую python в течение многих лет, но у меня мало опыта работы с веб-программированием на python. Я хотел бы создать очень простой веб-сервис, который предоставляет некоторые функции из существующего python script для использования в моей компании. Вероятно, он вернет результаты в csv. Какой самый быстрый способ получить что-то? Если это повлияет на ваше предложение, я, скорее всего, добавлю больше функциональности к этому, по дороге.
Лучший способ создать простой веб-сервис python
Ответ 1
Посмотрите werkzeug. Werkzeug начался как простая коллекция различных утилит для приложений WSGI и стал одним из самых передовых модулей WSGI. Он включает в себя мощный отладчик, полнофункциональные объекты запроса и ответа, утилиты HTTP для обработки тегов сущностей, заголовки управления кешем, даты HTTP, обработку файлов cookie, загрузку файлов, мощную систему маршрутизации URL-адресов и кучу дополнительных модулей аддонов. >
Он содержит множество полезных инструментов для работы с http и имеет то преимущество, что вы можете использовать его с wsgi в разных средах (cgi, fcgi, apache/mod_wsgi или простой простой сервер python для отладки).
Ответ 2
web.py, вероятно, является самой простой веб-картой. "Bare" 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()
Ответ 3
Самый простой способ получить Python script в Интернете - использовать CGI:
#!/usr/bin/python
print "Content-type: text/html"
print
print "<p>Hello world.</p>"
Поместите этот код в script, который находится в каталоге CGI вашего веб-сервера, сделает его исполняемым и запустит. Модуль cgi
имеет ряд полезных утилит, когда вам нужно принимать параметры от пользователя.
Ответ 4
Raw CGI - это боль, Django - тяжелый вес. Существует ряд более простых, более легких фреймворков, например, CherryPy. Стоит немного оглядеться.
Ответ 5
Посмотрите на ссылку на WSGI. У вас уже есть это в ваших библиотеках Python. Это довольно просто.
Ответ 6
Если вы имеете в виду "Веб-сервис", то доступ к другим программам SimpleXMLRPCServer может быть для вас прав. Он включается в каждую установку Python с версии 2.2.
Для простых доступных людям вещей я обычно использую Pythons SimpleHTTPServer, который также поставляется с каждой установкой. Очевидно, что вы также можете получить доступ к SimpleHTTPServer по клиентским программам.
Ответ 7
Жизнь проста, если вы получаете хорошую веб-инфраструктуру. Веб-службы в Django просты. Определите свою модель, напишите функции просмотра, которые возвращают ваши документы CSV. Пропустите шаблоны.
Ответ 8
Если вы имеете в виду "веб-сервис" в смысле SOAP/WSDL, вы можете посмотреть Создание WSDL с использованием Python и SOAPpy
Ответ 9
может быть Twisted http://twistedmatrix.com/trac/