Change language

HttpServer as a simple HTTP server in Python

Contents

This module serves as a very quick and easy way to start a local Http server on your network.

Previously in Python 2.7, this module was called HttpServer . But in Python3 this module has been merged with the http.server module. Let’s get started and run our own Http server.

 Http Server




Importing the httpserver module

This module is part of the standard library, so installing you do not need to write it. To import this module, simply use the following statement:

 import http.server 

You are now ready to start the server. Now let’s write some code for serving files.


Starting an HTTP server

If you just want to share your files and directories with another user, you can start the server directly using Python.

Go to any directory you want to share and start the server from there using:

 python -m http.server 9000 

Here we run our local Http server on port 9000.


Connecting

Now, to connect to the local server, you need to do the following steps:

  1. Log in to the server and find the server’s IP address using arp -a on Windows or ip -a | grep inet on Linux.
  2. On the remote client, just type http: // IP_ADDRESS: 9000 / into your browser.

Exit



 Basic Http Server

Pay note that you can view the server files or even upload them to the client machine.

 file list

Start HttpServer, which serves a custom index.html file

Although the default server is handy for direct file sharing, you can configure the server by running a separate file.

For example, we’ll run our own Http server that uses http.server and socketserver for TCP communication.

MyHttpRequestHandler calls me do_GET () method for serving the request. To serve a custom file for the request, we can override the function by simply defining a different do_GET () method that returns a different value.

 # server.py import http.server # Our http server handler for http requests import soc ketserver # Establish the TCP Socket connections PORT = 9000 class MyHttpRequestHandler (http.server.SimpleHTTPRequestHandler): def do_GET (self): self.path = ’index.html’ return http.server.SimpleHTTPRequestHandler.do_GET (self) Handler = MyHttpRequestHandler with socketserver.TCPServer (("", PORT), Handler) as httpd: print ("Http Server Serving at port", PORT) httpd.serve_forever () 

If you name it like server.py , you can start the http server using:

 python server.py 

 "home

Since we have defined our custom do_GET () function, we can serve the HTML file of the home page using our server, which in this case is index.html. Also, if the server is running on your system, you can directly access the server using localhost: "portnumber" instead of using IP.



Shop

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Best laptop for engineering student

$

Best laptop for development

$

Best laptop for Cricut Maker

$

Best laptop for hacking

$890

Best laptop for Machine Learning

$950

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method