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 du SimpleHTTPServer de Python est que vous n’avez rien à installer puisque l’interpréteur Python est installé. Vous n'avez pas à vous soucier de l'interpréteur Python car presque toutes les distributions Linux, l'interpréteur Python est pratique par défaut.

Vous pouvez également utiliser SimpleHTTPServer comme méthode de partage de fichiers. Il vous suffit d'activer le module à l'emplacement où se trouvent 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 dont vous disposez et 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 –> Accédez à Gestion des logiciels –> Tapez 'python' sans guillemets –> sélectionnez l'interpréteur python –> appuyez sur la touche espace et sélectionnez-le –> puis installez il.

Aussi simple que cela. Pour cela, vous devez avoir monté l'ISO SUSE et l'avoir configuré en tant que dépôt par YaST ou vous pouvez simplement installer Python à partir du Web.

Si vous utilisez différents systèmes d'exploitation comme 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 OS SLES 11 SP3 et l'interpréteur Python y est installé par défaut. 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 dans lequel vous ne jouez pas avec les fichiers système. Dans mon cas, j'ai une partition appelée /x01 et j'y ai créé un répertoire appelé tecmint et j'ai également ajouté des fichiers de test pour les tests.

4. Vos prérequis sont maintenant prêts. 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 les fichiers via le numéro de port 8000. Il vous suffit d'ouvrir un navigateur Web et de 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 un navigateur Web, en regardant où vous avez exécuté votre commande.

Étape 3 : Modification du port SimpleHTTPServer

8. Par défaut, SimpleHTTPServer de Python sert les fichiers et 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 emplacement différent

9. Maintenant que vous l'avez essayé, vous souhaiterez peut-être servir vos fichiers dans un emplacement spécifique sans réellement accéder au chemin.

À titre d'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 existe un fichier index.html 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'oeil. 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 un scénario tel que celui où vous souhaitez partager un fichier avec quelqu'un, vous n'avez pas besoin de copier le fichier vers un emplacement partagé ni de rendre vos répertoires partageables.

Exécutez simplement SimpleHTTPServer dessus et le tour est joué. Il y a quelques choses 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 depuis le navigateur ou que vous téléchargez un fichier à partir de celui-ci, il affiche l'adresse IP de l'accès 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. Alors maintenant, vous savez comment utiliser le module SimpleHTTPServer de Python comme solution rapide pour servir vos fichiers. Commenter ci-dessous pour les suggestions et les nouvelles découvertes serait une grande faveur pour améliorer les futurs articles et apprendre de nouvelles choses.

Liens de référence

Documentation SimpleHTTPServer