#!/bin/python3 import http.server, ssl, socketserver import urllib.parse context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) context.load_cert_chain("cert.pem") # PUT YOUR cert.pem HERE server_address = ("0.0.0.0", 2222) # CHANGE THIS IP & PORT #handler = http.server.SimpleHTTPRequestHandler #class MyHandler(http.server.SimpleHTTPRequestHandler): class MyHandler(http.server.BaseHTTPRequestHandler): def do_GET(self): parsed_url = urllib.parse.urlparse(self.path) code = urllib.parse.parse_qs(parsed_url.query).get('code', [None])[0] if code: print(code) self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() self.wfile.write("OK.".encode("utf-8")) self.wfile.flush() self.wfile.close() quit() else: print("Invalid or missing authorization code") with socketserver.TCPServer(server_address, MyHandler) as httpd: httpd.socket = context.wrap_socket(httpd.socket, server_side=True) httpd.serve_forever()