« Snippet/Python/HTTPServer+SSL+Thread » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
Snippet d'un code sous Python avec HTTPServer, support TLS/SSL et Multithreading : | Snippet d'un code sous Python avec HTTPServer, support TLS/SSL et Multithreading : | ||
< | <pre style="background-color:#eae672;padding:20px;padding-top:30px;padding-bottom:30px;box-shadow: 0 10px 10px 2px rgba(0,0,0,0.3);"> | ||
#!/usr/bin/python3 | #!/usr/bin/python3 | ||
| Ligne 34 : | Ligne 34 : | ||
print("Shuttind down server") | print("Shuttind down server") | ||
server.socket.close() | server.socket.close() | ||
</ | </pre> | ||
Dernière version du 20 avril 2016 à 20:16
Snippet d'un code sous Python avec HTTPServer, support TLS/SSL et Multithreading :
#!/usr/bin/python3
import ssl
import http.server
import socketserver
class ServerHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(bytes("Hello World", 'utf-8'))
return
class ThreadedServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
"""Init a threaded server (handler)"""
if __name__ == '__main__':
try:
server = ThreadedServer(('localhost', 8443), ServerHandler)
server.socket = ssl.wrap_socket(server.socket,
server_side=True,
do_handshake_on_connect=True,
certfile="dummy.crt",
keyfile="dummy.key")
server.serve_forever()
except KeyboardInterrupt:
print("Shuttind down server")
server.socket.close()