Comment utiliser Python SimpleHTTPServer

How Use 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. La façon dont le serveur Web peut être utilisé pour gérer les requêtes HTTP et partager des fichiers a été montrée 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 enfoncé 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

$CDla toile

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

< html >

< diriger >

< Titre >

Tester le serveur Web Python

</ Titre >

</ diriger >

< corps >

< centre >

< img src='logo.jpeg' tout='Image non trouvée'/>

< h2 style='la couleur verte'>Félicitations ! Votre serveur Web fonctionne avec succès.</ h2 >

< p >Visite< à href='www.linuxhint.com'>LinuxHint.com</ à >pour plus de tutoriels sur Python</ p >

</ centre >

</ corps >

</ html >

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 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. pour toujours() La fonction est appelée pour exécuter le serveur Web. Aucune condition d'arrêt 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

importerhttp.serveur

# Importer le module SocketServer

importerserveur de socket


# 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

avecserveur de socket.Serveur TCP(('',Port),Gestionnaire) commehttpd :

imprimer('Le serveur Web s'exécute sur http://localhost:%s'%Port)

httpd.servir_pour toujours()

Sortir

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


La liste des fichiers et du dossier 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 module a été importé dans le script pour lire les valeurs des arguments de la ligne de commande. essayer-sauf block 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 proche() fonction sera appelée pour arrêter le serveur Web.

# Importer le module serveur

importerhttp.serveur

# Importer le module SocketServer

importerserveur de socket

# Importer le module sys

importer système


essayer:

# Définir le numéro de port

si système.argv[1:]:

Port= entier(système.argv[1])

autre:

Port= 5000

# Définir l'adresse IP

adresse du serveur= ('127.0.0.1',Port)

# 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

avecserveur de socket.Serveur TCP(('',Port),Gestionnaire) commehttpd :

imprimer('Le serveur Web s'exécute sur http://localhost:%s'%Port)

httpd.servir_pour toujours()

# Arrêté le serveur

sauf ClavierInterruption:

httpd.server_close()

imprimer('Le serveur est arrêté.')

Sortir

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 été définis au début du script. PythonServeur class a défini dans le script pour afficher le fichier HTML dans le navigateur lorsque le serveur Web démarre.

# Importer le module serveur

importerhttp.serveur


# Définir le nom d'hôte

HÔTE= 'localhost'

# Définir le numéro de port

PORT= 4000


# Définir la classe pour afficher la page d'index du serveur Web

classerPythonServeur(http.serveur.SimpleHTTPRequestHandler):

déffaire_GET(soi):

si soi.chemin == '/':

soi.chemin = 'testHTML.html'

revenirhttp.serveur.SimpleHTTPRequestHandler.faire_GET(soi)


# Déclarer l'objet de la classe

serveur Web=http.serveur.Serveur HTTP((HÔTE,PORT),PythonServeur)


# Imprimer l'URL du serveur Web

imprimer('Le serveur a démarré http://%s:%s'%(HÔTE,PORT))


essayer:

# Exécuter le serveur Web

serveur Web.servir_pour toujours()

sauf ClavierInterruption:

# Arrêtez le serveur Web

serveur Web.server_close()

imprimer('Le serveur est arrêté.')

Sortir

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 didacticiel pour aider les utilisateurs de python à créer un serveur Web simple en Python.