Python répondre à la Requête HTTP
Je suis en train de faire quelque chose que je suppose est très simple, mais depuis que je suis relativement nouveau pour Python, je n'ai pas été en mesure de savoir comment. J'ai besoin d'exécuter une fonction dans mon script Python quand une URL est appelée.
Par exemple, je voudrais visiter l'URL suivante dans mon navigateur (192.168.0.10 étant l'adresse IP de l'ordinateur, je suis en cours d'exécution du script, et 8080 le port d'entrée de choix).
http://192.168.0.10:8080/captureImage
Lorsque cette URL est visité, je voudrais effectuer une action dans mon script Python, dans ce cas, exécuter une fonction que j'ai faite.
Je sais que cela peut être assez simple, mais je n'ai pas été en mesure de savoir comment cela peut être fait. J'apprécierais toute aide!
- Pour commencer, vous aurez besoin d'un serveur web. Vous avez déjà un serveur web installé et en cours d'exécution sur cet ordinateur?
- si u r à l'aide de windows ce lien pourrait fonctionner stackoverflow.com/questions/3179657/python-webbrowser-question
- Je pense que vous m'avez mal compris. Je voudrais que le script Python pour agir comme une sorte de serveur web, sauf que je n'ai pas besoin de servir tous les fichiers. J'ai besoin d'être en mesure d'exécuter une fonction lorsque le client visite une URL sur le serveur.
Vous devez vous connecter pour publier un commentaire.
C'est en effet très simple de le faire en python:
Selon l'endroit où vous voulez aller à partir d'ici, vous pouvez commander la documentation pour BaseHttpServer, ou regardez-vous dans le plus complet du web framework comme Django.
Un bon moyen d'accomplir ce que vous avez besoin est d'utiliser un framework web Python, Flacon (http://flask.pocoo.org/). Il y a des vidéos sur Youtube pour faire un bon travail d'expliquer Flacon de bases (https://www.youtube.com/watch?v=ZVGwqnjOKjk).
Voici un exemple de mon détecteur de mouvement que les textes moi quand mon chat est en attente à la porte. Tout ce qui doit être fait pour déclencher ce code est d'une requête HTTP à l'adresse (dans mon cas) http://192.168.1.112:5000/cat_detected