Erstellen Sie einen Instant-Webserver über die Terminal-Befehlszeile und Python
Inhaltsverzeichnis:
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.