I am trying to do something that I assume is very simple, but since I am fairly new to Python I haven't been able to find out how. I need to execute a function in my Python script when a URL is called.
For example, I would visit the following URL in my browser (192.168.0.10 being the IP of the computer I am running the script on, and 8080 being the port of choice).
http://192.168.0.10:8080/captureImage
When this URL is visited, I would like to perform an action in my Python script, in this case execute a function I made.
I know this might be fairly simple, but I haven't been able to find out how this can be done. I would appreciate any help!
解决方案
This is indeed very simple to do in python:
import SocketServer
from BaseHTTPServer import BaseHTTPRequestHandler
def some_function():
print "some_function got called"
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path == '/captureImage':
# Insert your code here
some_function()
self.send_response(200)
httpd = SocketServer.TCPServer(("", 8080), MyHandler)
httpd.serve_forever()
Depending on where you want to go from here, you might want to checkout the documentation for BaseHttpServer, or look into a more full featured web framework like Django.