So verwenden Sie Python SimpleHTTPServer

How Use Python Simplehttpserver



Die Hauptaufgabe des Webservers besteht darin, die HTTP-Anfragen des Clients zu bearbeiten. Es wartet auf die HTTP-Anfragen, die von der jeweiligen IP-Adresse und Portnummer kommen, bearbeitet die Anfrage und sendet die Antwort des Clients zurück. Python verwendet die SimpleHTTPServer Modul zum Erstellen eines Webservers sofort und einfach den Inhalt der Datei vom Server bereitstellen. Es kann auch für die Dateifreigabe verwendet werden. Dazu müssen Sie dieses Modul mit dem Speicherort der gemeinsam nutzbaren Dateien aktivieren. Dieses Modul wird mit dem Python-Interpreter geliefert. Sie müssen es nicht installieren. Da dieses Modul mit dem fusioniert ist http.server Modul in Python3, also musst du laufen http.server um den Webserver in Python3 auszuführen. Wie Webserver verwendet werden können, um HTTP-Anfragen zu bearbeiten und Dateien zu teilen, wurde in diesem Tutorial gezeigt.

Führen Sie den Webserver vom Terminal aus

Führen Sie den folgenden Befehl aus, um den Webserver vom Terminal aus auszuführen. Wenn im Befehl keine Portnummer definiert ist, startet der Webserver standardmäßig am 8000er Port.







$python3-m http.Server



Die folgende Ausgabe erscheint, wenn der Webserver ordnungsgemäß gestartet wurde. STRG+C wird gedrückt, um den Server zu stoppen.




Führen Sie den folgenden Befehl aus, um den Webserver am 8080-Port zu starten.





$python3-m http.Server 8080

Die folgende Ausgabe erscheint, wenn der Webserver am 8080-Port gestartet wird.



Führen Sie den Webserver mit einem Python-Skript aus

Führen Sie die folgenden Befehle aus, um einen Ordner namens . zu erstellen Netz und gehe in den Ordner. Alle Skriptdateien und HTML-Dateien dieses Tutorials werden in diesem Ordner erstellt.

$ mkdir web

$CDNetz

Erstellen Sie eine HTML-Datei mit dem Namen testHTML.html innerhalb der Netz Ordner mit dem folgenden Skript. Diese Datei wird später vom Webserver bereitgestellt.

testHTML.html

< html >

< Kopf >

< Titel >

Testen Sie den Python-Webserver

</ Titel >

</ Kopf >

< Karosserie >

< Center >

< img src='logo.jpeg' alles='Bild nicht gefunden'/>

< h2 Stil='Farbe grün'>Herzlichen Glückwunsch! Ihr Webserver wird erfolgreich ausgeführt.</ h2 >

< P >Besuch< zu href='www.linuxhint.com'>LinuxHint.com</ zu >für weitere Tutorials zu Python</ P >

</ Center >

</ Karosserie >

</ html >

Beispiel-1: Führen Sie den Webserver in der spezifischen Portnummer aus

Erstellen Sie mit dem folgenden Skript eine Python-Datei, um den Webserver am Port 8008 auszuführen. http.server Modul wurde importiert, um den Webserver auszuführen, und die SocketServer Modul wurde importiert, um die HTTP-Anforderung zu verarbeiten, die vom 8080-Port kommt. Ein Objekt namens Handler wurde erstellt, um die HTTP-Anfragen zu verarbeiten. bis in alle Ewigkeit() Die Funktion wird aufgerufen, um den Webserver auszuführen. Dem Skript wurde keine Abbruchbedingung hinzugefügt. Das Skript generiert also einen Fehler, wenn der Benutzer versucht, den Server zu stoppen.

# Servermodul importieren

importierenhttp.Server

# SocketServer-Modul importieren

importierenSocketserver


# Stellen Sie die Portnummer ein

Hafen= 8080

# Objekt für die Verarbeitung von HTTP-Anfragen erstellen

Handler=http.Server.SimpleHTTPRequestHandler


# Führen Sie den Server für immer aus, um die HTTP-Anfragen zu verarbeiten

mitSocketserver.TCPServer(('',Hafen),Handler) wiehttpd:

drucken('Webserver läuft unter http://localhost:%s'%Hafen)

httpd.Serve_forever()

Ausgabe

Die folgende Ausgabe wird angezeigt, nachdem das obige Skript ausgeführt wurde.


Die Liste der Dateien und Ordner des Skriptspeicherorts wird angezeigt, wenn die folgende URL vom Browser ausgeführt wird.

http://localhost:8080

Wenn der Benutzer STRG+C vom Terminal aus drückt oder die Stopp-Schaltfläche im PyCharm-Editor drückt, wird die folgende Fehlermeldung angezeigt. Dieses Problem wurde im nächsten Beispiel dieses Tutorials gelöst.

Beispiel-2: Führen Sie den Webserver mit der durch die Befehlszeile definierten Portnummer aus

Erstellen Sie mit dem folgenden Skript eine Python-Datei, um einen Webserver an dem bestimmten Port auszuführen, wenn das Befehlszeilenargument die Portnummer angibt; andernfalls wird 5000 als Standardport verwendet. sys -Modul wurde in das Skript importiert, um die Befehlszeilenargumentwerte zu lesen. versuchen-außer Block wurde im Skript hinzugefügt, um den Fehler zu behandeln, wenn der Benutzer versucht, den Server zu stoppen. Wenn die KeyboardInterrupt-Ausnahme nach dem Ausführen des Servers auftritt, wird die nah dran() wird aufgerufen, um den Webserver zu stoppen.

# Servermodul importieren

importierenhttp.Server

# SocketServer-Modul importieren

importierenSocketserver

# sys-Modul importieren

importieren sys


Versuchen:

# Stellen Sie die Portnummer ein

wenn sys.argv[1:]:

Hafen= int(sys.argv[1])

anders:

Hafen= 5000

# Stellen Sie die IP-Adresse ein

Serveradresse= ('127.0.0.1',Hafen)

# Objekt für die Verarbeitung von HTTP-Anfragen erstellen

Handler=http.Server.SimpleHTTPRequestHandler


# Führen Sie den Webserver für immer aus, um die HTTP-Anfragen zu verarbeiten

mitSocketserver.TCPServer(('',Hafen),Handler) wiehttpd:

drucken('Webserver läuft unter http://localhost:%s'%Hafen)

httpd.Serve_forever()

# Server gestoppt

außer KeyboardInterrupt:

httpd.server_close()

drucken('Der Server ist gestoppt.')

Ausgabe

Die folgende Ausgabe wird angezeigt, nachdem das obige Skript ohne Befehlszeilenargumentwert ausgeführt wurde.

Die folgende Ausgabe wird angezeigt, wenn Sie die HTML-Datei ausführen, die im vorherigen Schritt vom Webserver erstellt wurde.

Öffnen Sie das Konfigurationsdialogfeld über das Menü Ausführen des PyCharm-Editors, um den Befehlszeilenargumentwert festzulegen. Das Parameterfeld wird verwendet, um das Befehlszeilenargument festzulegen, und 3000 wird hier als Argumentwert festgelegt.

Die folgende Ausgabe wird angezeigt, wenn Sie das Skript erneut ausführen, nachdem Sie den Argumentwert festgelegt haben.

Beispiel-3: Führen Sie den Webserver mit der HTML-Datei aus

Erstellen Sie mit dem folgenden Skript eine Python-Datei, um den Webserver auszuführen, indem Sie die HTML-Datei für die Basis-URL definieren. Der Hostname und die Portnummer wurden am Anfang des Skripts definiert. PythonServer class hat im Skript definiert, dass die HTML-Datei im Browser angezeigt wird, wenn der Webserver gestartet wird.

# Importieren Sie das Servermodul

importierenhttp.Server


# Legen Sie den Hostnamen fest

GASTGEBER= 'lokaler Host'

# Stellen Sie die Portnummer ein

HAFEN= 4000


# Klasse definieren, um die Indexseite des Webservers anzuzeigen

KlassePythonServer(http.Server.SimpleHTTPRequestHandler):

defbekommen(selbst):

wenn selbst.Weg == '/':

selbst.Weg = 'testHTML.html'

Rückkehrhttp.Server.SimpleHTTPRequestHandler.bekommen(selbst)


# Objekt der Klasse deklarieren

webServer=http.Server.HTTP-Server((GASTGEBER,HAFEN),PythonServer)


# Drucken Sie die URL des Webservers

drucken('Server gestartet http://%s:%s'%(GASTGEBER,HAFEN))


Versuchen:

# Führen Sie den Webserver aus

webServer.Serve_forever()

außer KeyboardInterrupt:

# Stoppen Sie den Webserver

webServer.server_close()

drucken('Der Server ist gestoppt.')

Ausgabe

Die folgende Ausgabe wird angezeigt, wenn das obige Skript ausgeführt wird.

Die folgende Seite wird im Browser angezeigt, wenn die Basis-URL des Browsers des Webservers ausgeführt wird.

Abschluss

Die verschiedenen Möglichkeiten zur Implementierung von Webservern mithilfe von http. Server Modul wurde in diesem Tutorial gezeigt, um Python-Benutzern zu helfen, einen einfachen Webserver in Python zu erstellen.