Erstellen Sie einen Instant-Webserver über die Terminal-Befehlszeile und Python

Inhaltsverzeichnis:

Anonim

Möchten Sie schnell eine Datei freigeben, Code testen oder etwas übertragen? Sie können sofort einen Webserver aus dem aktuellen Verzeichnis erstellen, indem Sie nichts anderes als Python, yup, kein Apache, kein Nginx, kein Litespeed, alles Python verwenden, das heutzutage mit so ziemlich jeder Unix-Variante ausgeliefert wird. Der Befehl ist bemerkenswert einfach, wenn man bedenkt, wie nützlich er ist, und testen Sie ihn selbst, öffnen Sie ein Terminalfenster und einen beliebigen Webbrowser.

Dieser Trick startet sofort einen einfachen Webserver mit nichts als Python, er funktioniert unter Mac OS X, Linux, FreeBSD und allen anderen andere Unix-Plattform mit Python.

So starten Sie einen Instant Web Server mit Python

Um den Instant-Webserver über die Befehlszeile zu erstellen, geben Sie Folgendes in das Verzeichnis ein, auf das Sie über Browser und HTTP zugreifen möchten:

Einen einfachen Webserver in Python 2 starten

python -m SimpleHTTPServer

Einfachen Webserver in Python 3 starten

python -m http.server

Dies wird das aktuelle Verzeichnis sofort als Webserver veröffentlichen. Wenn Sie also eine index.html-Datei haben, die sofort angezeigt wird, wird ansonsten nur der Inh alt des Verzeichnisses entweder unter Ihrer Localhost-IP oder „ 0.0.0.0“. Beachten Sie, dass Port 8000 die Standard-Porteinstellung für diese Funktion ist, was bedeutet, dass Sie für den Zugriff auf den Webserver von einem Browser aus die folgende Adresse eingeben würden: http://0.0.0.0:8000

Denken Sie daran, dass ohne eine index.htm- oder index.html-Datei im Verzeichnis stattdessen eine einfache Verzeichnisliste der CWD/PWD im Browser angezeigt würde.

Sobald das Terminal ausgeführt wird, aktualisiert es sich, wenn Seiten und Daten vom Python-Webserver geladen werden, und zeigt standardmäßige HTTP-Protokollierungsinformationen wie GET- und PUSH-Anforderungen, auf welche Dateien zugegriffen wird und von wem, 404-Fehler, IP-Adressen, Daten, Uhrzeiten und alles, was Sie von einem Standard-http-Protokoll erwarten würden, als ob Sie eine Apache-Zugriffsprotokolldatei verfolgen würden.

Sie können ausgefallener werden, wenn Sie möchten, und einen Port angeben, um dem Webserver ein gewisses Maß an Unklarheit zu verleihen, wenn Sie hoffen, etwas nur an eine bestimmte Person zu senden, oder wenn Sie es einfach tun Ich möchte nicht, dass es auf einem Standard-8000-Portscan angezeigt wird.Alles, was Sie tun müssen, ist eine Portnummer am Ende des oben genannten Befehls anzugeben, etwa so:

python -m SimpleHTTPServer 4104

Dadurch würde der Webserver im aktuellen Verzeichnis unter der IP mit Port 4104 starten, nehmen wir als Beispiel die Localhost-IP an: http://127.0.0.1:4104 oder http:// 0.0.0.0:4104 abhängig von Ihren Einstellungen.

Dies ist ein sehr praktischer Tipp, wenn Sie eine schnelle Webentwicklung durchführen und diese sofort in einem Browser überprüfen oder jemand anderem zeigen möchten und sich nicht die Zeit dafür nehmen möchten sftp oder übertragen Sie es in ein Repository. Dies sollte auf allen Unix-OS-Varianten funktionieren, einschließlich FreeBSD, Linux, Ubuntu, Redhat, und natürlich ist auch Mac OS X enth alten.

Das folgende Video zeigt einen Python-Server, der in einem Verzeichnis mit einer einfachen index.html-Datei gestartet wird. Es zeigt auch, wie der ausgeführte Python-Befehl widerspiegelt, was mit der HTTP-Verbindung wie bei einem normalen HTTP-Server vor sich geht log würde:

Lassen Sie uns wissen, wenn Sie besonders lohnende Anwendungen oder zusätzliche Geheimnisse für diesen tollen kleinen Trick finden.

Erstellen Sie einen Instant-Webserver über die Terminal-Befehlszeile und Python