Python Language Exécution d'un serveur HTTP simple


Exemple

Python 2.x 2.3
python -m SimpleHTTPServer 9000
Python 3.x 3.0
python -m http.server 9000

L'exécution de cette commande sert les fichiers du répertoire en cours sur le port 9000 .

Si aucun argument n'est fourni comme numéro de port, le serveur s'exécutera sur le port 8000 par défaut.

L' -m recherche sys.path pour le fichier .py correspondant à exécuter en tant que module.

Si vous souhaitez ne servir que sur localhost, vous devrez écrire un programme Python personnalisé tel que:

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler
ServerClass  = BaseHTTPServer.HTTPServer
Protocol     = "HTTP/1.0"

if sys.argv[1:]:
   port = int(sys.argv[1])
else:
   port = 8000
server_address = ('127.0.0.1', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()