#!/usr/bin/python from BaseHTTPServer import HTTPServer from BaseHTTPServer import BaseHTTPRequestHandler class GetHandler(BaseHTTPRequestHandler): def do_GET(self): print 'Path: ', self.path print 'Client Address: ', self.client_address print 'Command: ', self.command print 'Request Version: ', self.request_version #print 'Responses: ', self.responses self.send_response(200) self.end_headers() self.wfile.write('Received request ...') return def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler): server_address = ('', 8080) httpd = server_class(server_address, GetHandler) httpd.serve_forever() if __name__ == '__main__': run();
curl -i http://localhost:8080/?foo=barHTTP/1.0
#open local file or webpage online #!/usr/bin/python import urllib #Open local file response = urllib.urlopen('U.py') #print response.read() # read whole file print response.readline() # read a single line print response.readlines() # read all lines print response.fileno(); print response.info() print response.getcode() print response.geturl()
#server.py #!/usr/bin/python import xmlrpclib from SimpleXMLRPCServer import SimpleXMLRPCServer def is_even(n): return n % 2 == 0 def display(filename): with open(filename) as f: lines = f.readlines(); return lines server = SimpleXMLRPCServer(("localhost", 8000)) server.register_function(is_even, "is_even") server.register_function(display, "display"); server.serve_forever()
#client.py #!/usr/bin/python import xmlrpclib proxy = xmlrpclib.ServerProxy("http://localhost:8000/") print "3 is even: %s" % str(proxy.is_even(3)) print "100 is even: %s" % str(proxy.is_even(100)) print proxy.display('server.py')