Simple Python Script To Create A WebServer


In this post, you will learn to create a web server just by executing a simple python script which is below.

##################### START OF SCRIPT #########################
import sys
import getopt
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

def start(argv):
    HandlerClass = SimpleHTTPRequestHandler
    ServerClass = BaseHTTPServer.HTTPServer
    Protocol = "HTTP/1.0"

    if sys.argv[1:]:
        try:
            opts, args = getopt.getopt(argv, "hp:", ["port="])
        except getopt.GetoptError:
            print "Error Try Again"
            sys.exit()

        for opt, arg in opts:
            if opt in ("-p", "--port"):
                port = int(arg)

        server_addr = ("127.0.0.1", port)
        HandlerClass.protocol_version = Protocol
        httpd = ServerClass(server_addr, HandlerClass)

        socket = httpd.socket.getsockname()
        print "HTTP Server running on http://%s:%s/" % (socket[0], socket[1])
        httpd.serve_forever()
    else:
        print "usage:\t$ python http.py -p 8888 \n\t$ python http.py --port 8888"

if __name__ == "__main__":
    start(sys.argv[1:])
##################### END OF SCRIPT ##########################

Python has a built-in Http WebServer. This feature of python can be used to create a small web server within your local network for performing web server related small operations. The Advantage of pythons built-in Http WebServer is that you don't have to install and configure anything. The only thing you need, is to have Python installed. After running the script the terminal will update as the data is loaded from the web server. You can see standard HTTP GET, POST requests, error messages, IP address, date and time and every thing that you would expect from any other web server to display on the terminal as below.

##################### START OF TERMINAL OUTPUT #####################
127.0.0.1 - - [26/Nov/2016 11:03:33] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2016 11:03:33] "GET /resources/css/all.css HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2016 11:03:33] code 404, message File not found
127.0.0.1 - - [26/Nov/2016 11:03:33] "GET /js/debug.js HTTP/1.1" 404 -
127.0.0.1 - - [26/Nov/2016 11:03:33] "GET /add.js HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2016 11:03:33] "GET /resources/theme-classic/theme-classic-all.css HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2016 11:03:36] code 404, message File not found
127.0.0.1 - - [26/Nov/2016 11:03:36] "GET /fav.ico HTTP/1.1" 404 -
##################### END OF TERMINAL OUTPUT ########################

Reference for this script is here

Comments

Popular posts from this blog

"Remotely Bypass" Pattern Lock Of Android Device By Google

Complete guide to learn Ethical Hacking

WinHex...Data Recovery and Forensics Tool

Learn How To Decompile an APK File And Add Some Of Our Own Code To That APK. A Demo Of Decompiling Twitter APK To Get Twitter Username & Passwoed

Starting PostgreSQL