class http.server.SimpleHTTPRequestHandler(request, client_address, server)
This class serves files from the current directory and below, directly mapping the directory structure to HTTP requests.
A lot of the work, such as parsing the request, is done by the base class BaseHTTPRequestHandler. This class implements the do_GET() and do_HEAD() functions.
The following are defined as class-level attributes of SimpleHTTPRequestHandler:
-
server_version -
This will be
"SimpleHTTP/" + __version__, where__version__is defined at the module level.
-
extensions_map -
A dictionary mapping suffixes into MIME types. The default is signified by an empty string, and is considered to be
application/octet-stream. The mapping is used case-insensitively, and so should contain only lower-cased keys.
The SimpleHTTPRequestHandler class defines the following methods:
-
do_HEAD() -
This method serves the
'HEAD'request type: it sends the headers it would send for the equivalentGETrequest. See thedo_GET()method for a more complete explanation of the possible headers.
-
do_GET() -
The request is mapped to a local file by interpreting the request as a path relative to the current working directory.
If the request was mapped to a directory, the directory is checked for a file named
index.htmlorindex.htm(in that order). If found, the file’s contents are returned; otherwise a directory listing is generated by calling thelist_directory()method. This method usesos.listdir()to scan the directory, and returns a404error response if thelistdir()fails.If the request was mapped to a file, it is opened and the contents are returned. Any
OSErrorexception in opening the requested file is mapped to a404,'File not found'error. Otherwise, the content type is guessed by calling theguess_type()method, which in turn uses the extensions_map variable.A
'Content-type:'header with the guessed content type is output, followed by a'Content-Length:'header with the file’s size and a'Last-Modified:'header with the file’s modification time.Then follows a blank line signifying the end of the headers, and then the contents of the file are output. If the file’s MIME type starts with
text/the file is opened in text mode; otherwise binary mode is used.For example usage, see the implementation of the
test()function invocation in thehttp.servermodule.
Please login to continue.