#!/usr/bin/env python
#
# generate server.xml with the following command:
# openssl req -new -x509 -keyout https_svr_key.pem -out https_svr_key.pem -days 3650 -nodes
#
# python https_svr.py
#
# then in your browser, visit:
# https://localhost:4443
#
import BaseHTTPServer
import SimpleHTTPServer
import os
import socket
import ssl
ip = [(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) \
for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]
port = 4443
print ("simple https server, address:%s:%d, document root:%s" % (ip, port, script_home))
httpd = BaseHTTPServer.HTTPServer(('0.0.0.0', port), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='./https_svr_key.pem', server_side=True)
httpd.serve_forever()
if __name__ == '__main__':
os.chdir(script_home)
from http import server
from http.server import SimpleHTTPRequestHandler
if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)
httpd = server.HTTPServer(server_address, SimpleHTTPRequestHandler)
httpd.serve_forever()
#!/usr/bin/python3
#python version 3.7
from http import server
from http.server import SimpleHTTPRequestHandler
import socket
import ssl
import sys
if sys.argv[1:]:
port = int(sys.argv[1])
else :
port = 8000
server_address = ("127.0.0.1", port)
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
#context.load_cert_chain("xxx.pem","xxx.key")#自己添加
httpd = server.HTTPServer(server_address,SimpleHTTPRequestHandler)
httpd.socket = context.wrap_socket(httpd.socket, server_side = True)
httpd.serve_forever()
posted on
浙公网安备 33010602011771号