Recherche de site Web

Comment utiliser Python 'SimpleHTTPServer' pour créer un serveur Web ou servir des fichiers instantanément


SimpleHTTPServer est un module python qui vous permet de créer instantanément un serveur Web ou de servir vos fichiers en un clin d’œil. Le principal avantage de SimpleHTTPServer de python est que vous n’avez pas besoin d’installer quoi que ce soit puisque vous avez installé l’interpréteur python. Vous n’avez pas à vous soucier de l’interpréteur python car presque toutes les distributions Linux, l’interpréteur python sont utiles par défaut.

Vous pouvez également utiliser SimpleHTTPServer comme méthode de partage de fichiers. Il vous suffit d’activer le module à l’emplacement de vos fichiers partageables. Je vais vous montrer plusieurs démonstrations dans cet article en utilisant diverses options.

Étape 1 : Vérifier l’installation de Python

1. Vérifiez si python est installé sur votre serveur ou non, en exécutant la commande ci-dessous.

# python –V 

OR

python  --version

Il vous montrera la version de l’interpréteur python que vous avez et il vous donnera un message d’erreur s’il n’est pas installé.

2. Vous avez de la chance s’il était là par défaut. Moins de travail en fait. S’il n’a pas été installé par hasard, installez-le en suivant les commandes ci-dessous.

Si vous disposez d’une distribution SUSE, tapez yast dans le terminal > Allez dans Gestion des logiciels > Tapez 'python' sans guillemets > sélectionnez l’interpréteur python > appuyez sur la touche espace et sélectionnez-le > puis installez-le.

C’est aussi simple que cela. Pour cela, vous devez avoir SUSE ISO monté et configuré en tant que dépôt par YaST ou vous pouvez simplement installer python depuis le Web.

Si vous utilisez différents systèmes d’exploitation tels que RHEL, CentOS, Debian, Ubuntu ou d’autres systèmes d’exploitation Linux, vous pouvez simplement installer python en utilisant yum ou apt.

Dans mon cas, j’utilise le système d’exploitation SLES 11 SP3 et l’interpréteur python est installé par défaut dans celui-ci. Dans la plupart des cas, vous n’aurez pas à vous soucier de l’installation de l’interpréteur python sur votre serveur.

Étape 2 : Créez un répertoire de test et activez SimpleHTTPServer

3. Créez un répertoire de test où vous ne jouez pas avec les fichiers système. Dans mon cas, j’ai une partition appelée /x01 et j’ai créé un répertoire appelé tecmint là-dedans et j’ai également ajouté quelques fichiers de test pour les tests.

4. Vos prérequis sont prêts maintenant. Tout ce que vous avez à faire est d’essayer le module SimpleHTTPServer de python en exécutant la commande ci-dessous dans votre répertoire de test (dans mon cas, /x01//).

# python –m SimpleHTTPServer

5. Après avoir activé SimpleHTTPServer avec succès, il commencera à servir des fichiers via le numéro de port 8000. Il vous suffit d’ouvrir un navigateur Web et d’entrer ip_address :port_number (dans mon cas, c’est 192.168.5.67:8000).

6. Cliquez maintenant sur le lien 'tecmint' pour parcourir les fichiers et répertoires du répertoire tecmint, voir l'écran ci-dessous pour référence.

7. SimpleHTTPServer sert vos fichiers avec succès. Vous pouvez voir ce qui s’est passé sur le terminal, après avoir accédé à votre serveur via le navigateur Web en regardant où vous avez exécuté votre commande.

Étape 3 : Changer le port SimpleHTTPServer

8. Par défaut, SimpleHTTPServer de python sert les fichiers et les répertoires via le port 8000, mais vous pouvez définir un numéro de port différent (ici, j’utilise le port 9999) comme vous le souhaitez avec la commande python comme indiqué ci-dessous.

# python –m SimpleHTTPServer 9999

Étape 4 : Servir des fichiers à partir d’un autre emplacement

9. Maintenant que vous l’avez essayé, vous voudrez peut-être servir vos fichiers à un endroit spécifique sans aller réellement au chemin.

Par exemple, si vous êtes dans votre répertoire personnel et que vous souhaitez stocker vos fichiers dans le répertoire /x01/tecmint/ sans cd dans /x01/tecmint, voyons comment nous allons procéder.

# pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Étape 5 : Servir les fichiers HTML

10. S’il y a un fichier index.html situé dans votre emplacement de diffusion, l’interpréteur python le détectera automatiquement et servira le fichier html au lieu de servir vos fichiers.

Jetons-y un coup d’œil. Dans mon cas, j’inclus un simple script html dans le fichier nommé index.html et je le localise dans /x01/tecmint/.

<html>
<header><title>TECMINT</title></header>
<body text="blue"><H1>
Hi all. SimpleHTTPServer works fine.
</H1>
<p><a href="https://linux-console.net">Visit TECMINT</a></p>
</body>
</html>

Maintenant, enregistrez-le et exécutez SimpleHTTPServer sur /x01/tecmint et accédez à l’emplacement à partir d’un navigateur Web.

# pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Très simple et pratique. Vous pouvez servir vos fichiers ou votre propre code html en un clin d’œil. La meilleure chose est que vous n’aurez pas à vous soucier d’installer quoi que ce soit. Dans le cas où vous souhaitez partager un fichier avec quelqu’un, vous n’avez pas besoin de copier le fichier dans un emplacement partagé ou de rendre vos répertoires partageables.

Il suffit d’exécuter SimpleHTTPServer dessus et le tour est joué. Il y a quelques points que vous devez garder à l’esprit lorsque vous utilisez ce module python. Lorsqu’il sert des fichiers, il s’exécute sur le terminal et imprime ce qui s’y passe. Lorsque vous y accédez à partir du navigateur ou que vous téléchargez un fichier à partir de celui-ci, il affiche l’adresse IP consultée et le fichier téléchargé, etc. Très pratique n’est-ce pas ?

Si vous souhaitez arrêter de servir, vous devrez arrêter le module en cours d’exécution en appuyant sur ctrl+c. Vous savez maintenant comment utiliser le module SimpleHTTPServer de python comme solution rapide pour servir vos fichiers. Commenter ci-dessous les suggestions et les nouvelles découvertes serait une grande faveur pour enrichir les futurs articles et apprendre de nouvelles choses.

Liens de référence

Documentation de SimpleHTTPServer

Articles connexes: