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!
A status code informs you of the status of the request. For example, a 200 OK status means that your request was successful, whereas a 404 NOT FOUND status means that the resource you were looking for was not found.
For this, you need to import the “HTTP. client” module of python first at the start of your python code. After this, the HTTP. client module is used to call the “HTTPConnection()” function to make a connection with a specified URL.
requests - Easily the most popular package for making requests using Python. urllib3 - Not to be confused with urllib , which is part of the Python standard library.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With