#!/usr/bin/python2.7 from multiprocessing import Process, Pipe import BaseHTTPServer import requests class RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header("Content-type", 'text/plain') self.end_headers() self.wfile.write('test') def log_request(self, code='-', size='-'): pass def start_server(pipe): # start a simple server on any available port httpd = BaseHTTPServer.HTTPServer(('', 0), RequestHandler) pipe.send(httpd.socket.getsockname()) httpd.handle_request() if __name__ == '__main__': parent, child = Pipe() p = Process(target=start_server, args=(child,)) p.daemon = True p.start() # use the socket address from the test server requests.get('http://{}:{}'.format(*parent.recv()))