Python can also act as an HTTP server. The standard Python library contains a number of modules to act as the basis for your own HTTP server; in fact, it even comes with a basic HTTP server all ready to go.
The Python module SimpleHTTPServer.py implements, as its name suggests, a simple HTTP server. For information on how to run this server, open SimpleHTTPServer.py in any text editor, and read the instructions.
As an example, let’s implement our own special HTTP server. Our
HTTP server functions similarly to a proxy server: it accepts
requests and redirects those requests to another server. For example,
if you ask the server to redirect to
www.python.org, that server appears to have
the same content as
www.python.org. Thus, people can access
www.python.org via our server.
The implementation is straightforward. Extend the basic Python HTTP server code, but instead of searching for the file, simply open a HTTP connection to the remote server and redirect the data to your own client:
# HTTPRedirector.py # An HTTP Server that redirects all requests to a named, remote server. # BaseHTTPServer provides the basic HTTP Server functionality. import BaseHTTPServer # httplib establishes our connection to the remote server import httplib import socket # For the error! # The server we are redirecting to. g_RemoteServerName = "www.python.org" class HTTPRedirector(BaseHTTPServer.BaseHTTPRequestHandler): # This function is called ...