I can't find any python code for the equiavalent of
python -m http.server port --bind addr --directory dir
So I need basicaly working server class that prcoess at least GET requests. Most of the things I found on google either http server with some special needs or something like that, where you need to code response behaviour be yourself:
from http.server import BaseHTTPRequestHandler, HTTPServer
def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
run()
All that I need is default working skeleton of python http server, where you can provide address, port and directory, and it would normally process GET reqeuests.
CodePudding user response:
You need to subclass the BaseHTTPRequestHandler
to, well, handle the requests:
class HTTPRequestHandler(BaseHTTPRequestHandler):
"""HTTP request handler with additional properties and functions."""
def do_GET(self):
"""handle GET requests."""
# Do stuff.
CodePudding user response:
Why not use the requests library ?
import requests
#the required first parameter of the 'get' method is the 'url'(instead of get you can use any other http type, as needed):
r = requests.get('https://stackoverflow.com/questions/73089846/python-3-simple-http-get-functional')
#you can print many other things as well such as content, text and so on
print(r.status_code)
Check the documentation https://requests.readthedocs.io/en/latest/