Comment utiliser Python SimplehttpServer

Comment utiliser Python SimplehttpServer

La tâche principale du serveur Web est de gérer les demandes HTTP du client. Il attend les demandes HTTP provenant de l'adresse IP particulière et du numéro de port, gère la demande et renvoie la réponse du client. Python utilise le SimplehttpServer module pour créer un serveur Web instantanément et facilement servir le contenu du fichier à partir du 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. Puisque ce module est fusionné avec le http.serveur Module dans Python3, vous devez donc courir http.serveur Pour exécuter le serveur Web dans Python3. Comment le serveur Web peut être utilisé pour gérer la demande HTTP et partager des fichiers, a été affiché dans ce tutoriel.

Exécutez le serveur Web à partir du 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 commencera à 8000 port 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 au port 8080.

$ python3 -m http.serveur 8080

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

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

Exécutez les commandes suivantes pour créer un dossier nommé la toile et aller au dossier. Tous les fichiers de script et les fichiers HTML de ce tutoriel seront créés à l'intérieur de ce dossier.

$ mkdir web
$ cd web

Créer 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 plus tard.

testhtml.html



<br>Testez le serveur Web Python<br>




Félicitations! Votre serveur Web s'exécute 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 au port 8008. http.serveur Le module a été importé pour exécuter le serveur Web et le Socketserver Le module a été importé pour gérer la demande HTTP provenant du port 8080. Un objet nommé Maître a été créé pour gérer les demandes HTTP. pour 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 essaie d'arrêter le serveur.

# Importer le module de serveur
importer http.serveur
# Importer le module SocketsServer
importer socketserver
# Définissez le numéro de port
port = 8080
# Créer un objet pour gérer les demandes HTTP
Handler = http.serveur.SimpleHttpRequestHandler
# Exécutez le serveur pour toujours pour gérer les demandes HTTP
avec socketserver.TcpServer (("", port), gestionnaire) comme httpd:
Print ("Web Server s'exécute sur http: // localhost:% s"% port)
httpd.servir_forever ()

Sortir

La sortie suivante sera apparue après avoir exécuté le script ci-dessus.


La liste des fichiers et du dossier de l'emplacement du script sera affichée si l'URL suivante est exécutée à partir du navigateur.

http: // localhost: 8080

Si l'utilisateur appuie sur Ctrl + C du terminal ou appuye sur le bouton d'arrêt de l'éditeur PyCharm, le message d'erreur suivant sera affiché. Ce problème a 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 au port particulier si l'argument de ligne de commande donne le numéro de port; Sinon, 5000 seront utilisés comme port par défaut. système Le module a été importé dans le script pour lire les valeurs d'argument de ligne de commande. essai à l'exception 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 de l'interrupteur de clavier apparaît après avoir exécuté le serveur, alors le fermer() La fonction sera appelée pour arrêter le serveur Web.

# Importer le module de serveur
importer http.serveur
# Importer le module SocketsServer
importer socketserver
# Importer le module sys
importer sys
essayer:
# Définissez le numéro de port
Si sys.Argv [1:]:
port = int (sys.Argv [1])
autre:
port = 5000
# Définissez l'adresse IP
server_address = ('127.0.0.1 ', port)
# Créer un objet pour gérer les demandes HTTP
Handler = http.serveur.SimpleHttpRequestHandler
# Exécutez le serveur Web pour toujours pour gérer les demandes HTTP
avec socketserver.TcpServer (("", port), gestionnaire) comme httpd:
Print ("Web Server s'exécute sur http: // localhost:% s"% port)
httpd.servir_forever ()
# Arrêté le serveur
sauf le clavier Interrupteur:
httpd.server_close ()
Imprimer ("Le serveur est arrêté.")

Sortir

La sortie suivante sera apparue après avoir exécuté le script ci-dessus sans valeur d'argument de ligne de commande.

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

Ouvrez la boîte de dialogue de configuration à partir du menu d'exécution 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 la 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 la définition de la valeur de l'argument.

Exemple-3: exécutez 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. Pythonserver La classe a défini dans le script pour afficher le fichier HTML dans le navigateur lorsque le serveur Web commence à s'exécuter.

# Importer le module du serveur
importer http.serveur
# Définissez le nom d'hôte
Host = "localhost"
# Définissez le numéro de port
Port = 4000
# Définissez la classe pour afficher la page d'index du serveur Web
classe PythonServer (HTTP.serveur.SimpleHttpRequestHandler):
def do_get (self):
Si vous-même.chemin == '/':
soi.chemin = 'testhtml.html '
retourner http.serveur.SimpleHttpRequestHandler.do_get (self)
# Déclarer l'objet de la classe
Webserver = http.serveur.HttpServer ((hôte, port), pythonserver)
# Imprimez l'URL du serveur Web
print ("Server a démarré http: //% s:% s"% (hôte, port))
essayer:
# Exécutez le serveur Web
serveur Web.servir_forever ()
sauf le clavier Interrupteur:
# Arrêtez le serveur Web
serveur Web.server_close ()
Imprimer ("Le serveur est arrêté.")

Sortir

La sortie suivante apparaîtra exécuter 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 façons d'implémenter des serveurs Web en utilisant http. serveur Le module s'est affiché dans ce tutoriel pour aider les utilisateurs de Python à créer un serveur Web simple dans Python.