在Python3 Mockserver中添加https重定向

在Python3 Mockserver中添加https重定向,python,python-3.x,ssl,pyopenssl,basehttprequesthandler,Python,Python 3.x,Ssl,Pyopenssl,Basehttprequesthandler,我们有一个mockserver,它现在提供https://请求,如果我们删除ssl包装(ssl.wrap_socket(myServer.socket,keyfile='key.pem',certfile='cert.pem',server_side=True),服务器只提供http://请求。是否有任何方法可以使此服务器支持这两个请求。我们的目标是,当服务器接收到http://请求时,它将自动将其转换为https://并处理该请求 提前感谢您的支持 from http.server impor

我们有一个mockserver,它现在提供https://请求,如果我们删除ssl包装(ssl.wrap_socket(myServer.socket,keyfile='key.pem',certfile='cert.pem',server_side=True),服务器只提供http://请求。是否有任何方法可以使此服务器支持这两个请求。我们的目标是,当服务器接收到http://请求时,它将自动将其转换为https://并处理该请求

提前感谢您的支持

from http.server import HTTPServer, BaseHTTPRequestHandler
import ssl

class Mock(BaseHTTPRequestHandler):

    -------------------
    -------------------

def main():
    global hostname, port
    hostname = "127.0.0.1"
    port = 8000
    myServer = HTTPServer((hostname, port), Mock)
    myServer.socket = ssl.wrap_socket(myServer.socket,keyfile='key.pem',certfile= 'cert.pem', server_side=True)
    myServer.serve_forever()

if __name__ =="__main__":
   main()

如果HTTP和HTTPS服务器需要不同的功能,那么将它们设置为两个不同的实例是有意义的。为什么不创建第二个
HTTPServer
,这是仅返回302状态且
位置
头指向HTTPS模拟服务器(但使用相同路径)的HTTP.

谢谢..我们也认为这可能是解决方案。您能告诉我这个问题的编码方式吗?