HTTPS服务实现
socket
import ssl, socket, time
from typing import Tuple
if __name__ == "__main__":
# SSL 协议版本看源码
context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
#context.load_cert_chain(certfile=‘key_pub.pem’, keyfile=‘key_priv.pem') #可以分开定义公钥和私钥文件,也可以合并成一个文件
context.load_cert_chain(certfile='cert.pem')
bindsocket = socket.socket()
bindsocket.bind(('127.0.0.1', 443))
bindsocket.listen(5)
newsocket, fromaddr = bindsocket.accept()
connstream = context.wrap_socket(newsocket, server_side=True, do_handshake_on_connect=True)
try:
data = connstream.recv(1024)
print(data)
buf = 'Hi NN%f\n\n\n\n'%time.time()
buf = buf.encode()
connstream.send(buf)
finally:
connstream.shutdown(socket.SHUT_RDWR)
connstream.close()
bindsocket.close()socketserver
HTTPS文件服务器代码
Last updated