import httplib import threading import tornado import tornado.ioloop import tornado.web HOST, PORT, PATH = '127.0.0.1', 8888, '/' class MainHandler(tornado.web.RequestHandler): def get(self): self.set_status(403) self.write('\r\nhello world\r\n') def make_app(): return tornado.web.Application([ (r"/", MainHandler), ]) def server(): app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start() def client(): conn = httplib.HTTPConnection(HOST, PORT) conn.request('GET', PATH, None, headers={}) rsp = conn.getresponse() print rsp.status rsp.close() # close response conn.request('GET', PATH, None, headers={}) rsp2 = conn.getresponse() print rsp2.status # --> should be 403 def main(): threading.Thread(target=server).start() client() main()