コード例 #1
0
        self.log_message('REQUEST_LINE: {}'.format(
            request_line.decode('ascii').strip()))
        self.log_message('HEADERS:\n{}'.format('\n'.join(
            ['{}: {}'.format(k, v) for k, v in headers.items()])))
        self.log_message('BODY:\n{}'.format(body.decode('ascii')))
        resp = requests.request(method, url, headers=headers, data=body)

        self.send_response(resp.status_code)
        for key, value in resp.headers.items():
            self.send_header(key, value)
        self.end_headers()
        self.wfile.write(resp.content)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Fake out repose')
    parser.add_argument('lport', type=int, help='port to listen on')
    parser.add_argument('bport',
                        type=int,
                        help='backend port to forward requests to')
    args = parser.parse_args()

    MyHTTPHandler.backend_port = args.bport

    server = HTTPServer(('localhost', args.lport), MyHTTPHandler)
    server.backend_port = args.bport

    # Activate the server; this will keep running until you
    # interrupt the program with Ctrl-C
    server.serve_forever()