Python

Comment utiliser Python SimpleHTTPServer

Comment utiliser Python SimpleHTTPServer

La tâche principale du serveur Web est de gérer les requêtes HTTP du client. Il attend les requêtes HTTP provenant de l'adresse IP et du numéro de port particuliers, gère la requête et renvoie la réponse du client. Python utilise le SimpleHTTPServer module pour créer un serveur web instantanément et servir facilement le contenu du fichier depuis le serveur. Il peut également être utilisé pour le partage de fichiers. Pour cela, vous devez activer ce module avec l'emplacement des fichiers partageables. Ce module est livré avec l'interpréteur Python. Vous n'avez pas besoin de l'installer. Étant donné que ce module est fusionné avec le http.serveur module en python3, vous devez donc exécuter http.serveur pour exécuter le serveur Web en python3. Comment le serveur Web peut être utilisé pour gérer les requêtes HTTP et partager des fichiers, a été montré dans ce didacticiel.

Exécuter le serveur Web depuis le terminal

Exécutez la commande suivante pour exécuter le serveur Web à partir du terminal. Si aucun numéro de port n'est défini dans la commande, le serveur Web démarrera au port 8000 par défaut.

$ python3 -m http.serveur

La sortie suivante apparaîtra si le serveur Web est démarré correctement. CTRL+C est pressé pour arrêter le serveur.


Exécutez la commande suivante pour démarrer le serveur Web sur le port 8080.

$ python3 -m http.serveur 8080

La sortie suivante apparaîtra si le serveur Web est démarré sur le port 8080.

Exécuter le serveur Web à l'aide du script Python

Exécutez les commandes suivantes pour créer un dossier nommé la toile et allez dans le dossier. Tous les fichiers de script et les fichiers HTML de ce tutoriel seront créés dans ce dossier.

$ mkdir web
$ cd web

Créez un fichier HTML nommé testHTML.html à l'intérieur de la toile dossier avec le script suivant. Ce fichier sera servi à partir du serveur Web ultérieurement.

testHTML.html



<br>Tester le serveur Web Python<br>



Image non trouvée

Félicitation! Votre serveur Web fonctionne avec succès.


Visite LinuxHint.com pour plus de tutoriels sur Python




Exemple-1 : Exécutez le serveur Web dans le numéro de port spécifique

Créez un fichier python avec le script suivant pour exécuter le serveur Web sur le port 8008. http.serveur module a été importé pour exécuter le serveur Web, et le Serveur Socket le module a été importé pour gérer la requête HTTP provenant du port 8080. Un objet nommé Gestionnaire a été créé pour gérer les requêtes HTTP. toujours() la fonction est appelée pour exécuter le serveur Web. Aucune condition de terminaison n'a été ajoutée au script. Ainsi, le script générera une erreur lorsque l'utilisateur essaiera d'arrêter le serveur.

# Importer le module serveur
importer http.serveur
# Importer le module SocketServer
importer socketserver
# Définir le numéro de port
port = 8080
# Créer un objet pour gérer les requêtes HTTP
Gestionnaire = http.serveur.SimpleHTTPRequestHandler
# Exécutez le serveur pour toujours pour gérer les requêtes HTTP
avec socketserver.TCPServer(("", port), Handler) en tant que httpd :
print("Le serveur Web s'exécute sur http://localhost:%s" %port)
httpd.serve_forever()

Production

La sortie suivante apparaîtra après l'exécution du script ci-dessus.


La liste des fichiers et dossiers de l'emplacement du script s'affichera si l'URL suivante est exécutée depuis le navigateur.

http://localhost:8080

Si l'utilisateur appuie sur CTRL+C depuis le terminal ou appuie sur le bouton d'arrêt de l'éditeur PyCharm, le message d'erreur suivant s'affichera. Ce problème a été résolu dans l'exemple suivant de ce tutoriel.

Exemple-2 : Exécutez le serveur Web avec le numéro de port défini par la ligne de commande

Créez un fichier python avec le script suivant pour exécuter un serveur Web sur le port particulier si l'argument de ligne de commande donne le numéro de port ; sinon, 5000 sera utilisé comme port par défaut. système le module a été importé dans le script pour lire les valeurs des arguments de la ligne de commande. essayer-sauf un bloc a été ajouté dans le script pour gérer l'erreur lorsque l'utilisateur essaie d'arrêter le serveur.  Si l'exception KeyboardInterrupt apparaît après l'exécution du serveur, le Fermer() la fonction sera appelée pour arrêter le serveur Web.

# Importer le module serveur
importer http.serveur
# Importer le module SocketServer
importer socketserver
# Importer le module sys
importer le système
essayer:
# Définir le numéro de port
si sys.argv[1:] :
port = int(sys.argv[1])
autre:
port = 5000
# Définir l'adresse IP
adresse_serveur = ('127.0.0.1', bâbord)
# Créer un objet pour gérer les requêtes HTTP
Gestionnaire = http.serveur.SimpleHTTPRequestHandler
# Exécutez le serveur Web pour toujours pour gérer les requêtes HTTP
avec socketserver.TCPServer(("", port), Handler) en tant que httpd :
print("Le serveur Web s'exécute sur http://localhost:%s" %port)
httpd.serve_forever()
# Arrêté le serveur
sauf KeyboardInterrupt :
httpd.server_close()
print("Le serveur est arrêté.")

Production

La sortie suivante apparaîtra après l'exécution du script ci-dessus sans valeur d'argument de ligne de commande.

La sortie suivante apparaîtra si vous exécutez le fichier HTML créé à l'étape précédente à partir du serveur Web.

Ouvrez la boîte de dialogue de configuration à partir du menu Exécuter de l'éditeur PyCharm pour définir la valeur de l'argument de la ligne de commande. Le champ Paramètres est utilisé pour définir l'argument de ligne de commande, et 3000 est défini ici comme valeur d'argument.

La sortie suivante apparaîtra si vous exécutez à nouveau le script après avoir défini la valeur de l'argument.

Exemple-3 : Exécuter le serveur Web avec le fichier HTML

Créez un fichier python avec le script suivant pour exécuter le serveur Web en définissant le fichier HTML pour l'URL de base. Le nom d'hôte et le numéro de port ont défini au début du script. PythonServeur la classe a défini dans le script pour afficher le fichier HTML dans le navigateur lorsque le serveur Web démarre.

# Importer le module serveur
importer http.serveur
# Définir le nom d'hôte
HTE = "hôte local"
# Définir le numéro de port
PORT = 4000
# Définir la classe pour afficher la page d'index du serveur Web
class PythonServer(http.serveur.SimpleHTTPRequestHandler) :
def do_GET(self):
si soi.chemin == '/' :
soi.chemin = 'testHTML.html'
retour http.serveur.SimpleHTTPRequestHandler.do_GET(self)
# Déclarer l'objet de la classe
serveur web = http.serveur.HTTPServer((HOST, PORT), PythonServer)
# Imprimer l'URL du serveur Web
print("Le serveur a démarré http://%s:%s" % (HTE, PORT))
essayer:
# Exécuter le serveur Web
serveur Web.serve_forever()
sauf KeyboardInterrupt :
# Arrêtez le serveur Web
serveur Web.server_close()
print("Le serveur est arrêté.")

Production

La sortie suivante apparaîtra en exécutant le script ci-dessus.

La page suivante apparaîtra dans le navigateur si l'URL de base du navigateur du serveur Web s'exécute.

Conclusion

Les différentes manières d'implémenter des serveurs web en utilisant http. serveur module a montré dans ce tutoriel pour aider les utilisateurs de python à créer un serveur Web simple en Python.

SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...
Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...