Files
OptionRecorderSchwab/codeReceiveServer.py

31 lines
1.1 KiB
Python
Raw Normal View History

2024-05-09 15:29:45 -05:00
#!/bin/python
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", 443) # 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()