J'utilise python depuis des années, mais j'ai peu d'expérience avec la programmation Web python. J'aimerais créer un service Web très simple qui expose certaines fonctionnalités d'un script python existant à utiliser au sein de mon entreprise. Il renverra probablement les résultats au format csv. Quel est le moyen le plus rapide de créer quelque chose? Si cela affecte votre suggestion, j'ajouterai probablement plus de fonctionnalités à cela, plus tard.
python
web-services
Jeremy Cantrell
la source
la source
Réponses:
Jetez un œil à werkzeug . Werkzeug a commencé comme une simple collection de divers utilitaires pour les applications WSGI et est devenu l'un des modules utilitaires WSGI les plus avancés. Il comprend un débogueur puissant, des objets de requête et de réponse complets, des utilitaires HTTP pour gérer les balises d'entité, les en-têtes de contrôle du cache, les dates HTTP, la gestion des cookies, les téléchargements de fichiers, un puissant système de routage d'URL et un tas de modules complémentaires fournis par la communauté.
Il comprend de nombreux outils sympas pour travailler avec http et a l'avantage de pouvoir l'utiliser avec wsgi dans différents environnements (cgi, fcgi, apache / mod_wsgi ou avec un simple serveur python pour le débogage).
la source
web.py est probablement le framework Web le plus simple. CGI "Bare" est plus simple, mais vous êtes complètement seul quand il s'agit de créer un service qui fait réellement quelque chose.
"Bonjour le monde!" selon web.py n'est pas beaucoup plus long qu'une version CGI nue, mais il ajoute le mappage d'URL, la distinction de commande HTTP et l'analyse des paramètres de requête gratuitement :
la source
Le moyen le plus simple de mettre en ligne un script Python est d'utiliser CGI:
Mettez ce code dans un script qui réside dans le répertoire CGI de votre serveur Web, rendez-le exécutable et exécutez-le. Le
cgi
module dispose d'un certain nombre d'utilitaires utiles lorsque vous devez accepter des paramètres de l'utilisateur.la source
Le CGI brut est une sorte de douleur, Django est une sorte de poids lourd. Il existe un certain nombre de frameworks plus simples et plus légers, par exemple CherryPy . Cela vaut la peine de regarder un peu.
la source
Regardez l' implémentation de référence WSGI . Vous l'avez déjà dans vos bibliothèques Python. C'est assez simple.
la source
Si vous voulez dire avec "Web Service" quelque chose accédé par d'autres programmes SimpleXMLRPCServer pourrait vous convenir. Il est inclus avec chaque installation de Python depuis la version 2.2.
Pour les choses simples accessibles aux humains, j'utilise généralement Pythons SimpleHTTPServer qui est également fourni avec chaque installation. De toute évidence, vous pouvez également accéder à SimpleHTTPServer par des programmes clients.
la source
La vie est simple si vous obtenez un bon framework Web. Les services Web dans Django sont faciles. Définissez votre modèle, écrivez des fonctions de vue qui renvoient vos documents CSV. Ignorez les modèles.
la source
Si vous voulez dire "service Web" au sens SOAP / WSDL, vous voudrez peut-être regarder Générer un WSDL à l'aide de Python et SOAPpy
la source
peut-être Twisted http://twistedmatrix.com/trac/
la source