#!/usr/bin/python import urllib2, urllib, BaseHTTPServer, os, sys, signal class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): data = "Hello world" self.wfile.write("HTTP/1.0 200 OK\nContent-Length: %s\n\n%s" % ( len(data), data)) self.wfile.close() def doRequest(url): f = urllib.urlopen(url) data = f.read() return data def doRequest2(url): f = urllib2.urlopen(url) data = f.read() return data if __name__ == "__main__": n = 150 pid = os.fork() if pid == 0: # Run the server s = BaseHTTPServer.HTTPServer(("", 8010), MyHandler) try: s.serve_forever() except KeyboardInterrupt: sys.exit(0) else: try: print "Using urllib.urlopen" for i in range(n): sys.stdout.write(".") sys.stdout.flush() doRequest("http://localhost:8010") print print "Using urllib2.urlopen" for i in range(n): sys.stdout.write(".") sys.stdout.flush() doRequest2("http://localhost:8010") finally: os.kill(pid, signal.SIGINT)