Python reagiert auf HTTP-Anforderung
Ich versuche, etwas zu tun, dass ich angenommen ist sehr einfach, aber da ich ziemlich neu bin, Python habe ich noch nicht herausfinden können, wie. Ich muss eine Funktion ausführen, die in meinem Python-Skript, wenn eine URL aufgerufen wird.
Z. B. würde ich besuchen Sie die folgende URL in meinem browser (192.168.0.10 die IP von dem Rechner bei mir läuft das Skript auf, und 8080 als port der Wahl).
http://192.168.0.10:8080/captureImage
Wenn diese URL besucht wird, möchte ich eine Aktion durchführen, die in meinem Python-Skript, in diesem Fall eine Funktion ausführen, die ich gemacht habe.
Ich weiß, das könnte relativ einfach sein, aber ich habe nicht herausfinden können, wie dies getan werden kann. Ich würde schätzen jede Hilfe!!!
- Um mit zu beginnen, benötigen Sie einen Webserver. Sie haben bereits eine web-server installiert und auf diesem computer ausgeführt werden?
- wenn u r mithilfe von windows dieser link funktioniert möglicherweise stackoverflow.com/questions/3179657/python-webbrowser-question
- Ich denke, Sie haben mich mißverstanden. Ich möchte, dass das Python-script zu handeln, als eine Art web-server, außer ich muss nicht dienen, Sie alle Dateien. Ich muss in der Lage sein, um eine Funktion ausführen, wenn ein Kunde besucht eine URL auf dem server.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist in der Tat sehr einfach zu tun in python:
Je nachdem, wo Sie wollen, um von hier gehen, möchten Sie vielleicht, um eine Arbeitskopie der Dokumentation für BaseHttpServer, oder schauen Sie in eine voll funktionsfähige web-Frameworks wie Django.
Einer robusten Weise zu vollbringen, was Sie brauchen, ist die Verwendung von Python-web-framework Flask (http://flask.pocoo.org/). Es gibt Youtube-videos, die machen einen guten job zu erklären, Kolben Grundlagen (https://www.youtube.com/watch?v=ZVGwqnjOKjk).
Hier ist ein Beispiel aus meinem Bewegungsmelder, die Texte mir, wenn meine Katze wartet vor der Tür. Alle, die getan werden muss, um die trigger-dieser code ist für einen HTTP-request an die Adresse (in meinem Fall) http://192.168.1.112:5000/cat_detected