Python

So verwenden Sie Python SimpleHTTPServer

So verwenden Sie 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 sofortigen Erstellen eines Webservers und zur einfachen Bereitstellung des Inhalts der Datei vom Server. 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ührenon. 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 mit Port 8000.

$ 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 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
$ CD-Web

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

testHTML.html



<br>Testen Sie den Python-Webserver<br>



Bild nicht gefunden

Herzlichen Glückwunsch! Ihr Webserver läuft erfolgreich.


Besuch LinuxHinweis.com für weitere Tutorials zu Python




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

Erstellen Sie eine Python-Datei mit dem folgenden Skript, um den Webserver am 8008-Port auszuführen. http.Server Modul wurde importiert, um den Webserver auszuführen, und die SocketServer Modul wurde importiert, um die HTTP-Anfrage zu verarbeiten, die vom 8080-Port kommt. Ein Objekt namens Handler wurde erstellt, um die HTTP-Anfragen zu verarbeiten. für immer() 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
http . importieren.Server
# SocketServer-Modul importieren
Socketserver importieren
# Stellen Sie die Portnummer ein
Port = 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
mit Socketserver.TCPServer(("", Port), Handler) als httpd:
print("Webserver läuft unter http://localhost:%s" %port)
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 Stopptaste vom 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 eine Python-Datei mit dem folgenden Skript, 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 Kommandozeilen-Argumentwerte 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 schließen() Funktion wird aufgerufen, um den Webserver zu stoppen.

# Servermodul importieren
http . importieren.Server
# SocketServer-Modul importieren
Socketserver importieren
# sys-Modul importieren
Importsystem
Versuchen:
# Stellen Sie die Portnummer ein
wenn sys.argv[1:]:
port = int(sys.argv[1])
sonst:
Port = 5000
# Stellen Sie die IP-Adresse ein
server_adresse = ('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
mit Socketserver.TCPServer(("", Port), Handler) als httpd:
print("Webserver läuft unter http://localhost:%s" %port)
httpd.Serve_forever()
# Server gestoppt
außer KeyboardInterrupt:
httpd.server_close()
print("Der Server ist angehalten.")

Ausgabe

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

Die folgende Ausgabe erscheint, 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 eine Python-Datei mit dem folgenden Skript, 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
http . importieren.Server
# Legen Sie den Hostnamen fest
HOST = "localhost"
# Stellen Sie die Portnummer ein
ANSCHLUSS = 4000
# Klasse definieren, um die Indexseite des Webservers anzuzeigen
Klasse PythonServer(http.Server.SimpleHTTPRequestHandler):
def do_GET(self):
wenn selbst.Pfad == '/':
selbst.path = 'testHTML.html'
http zurückgeben.Server.SimpleHTTPRequestHandler.do_GET(selbst)
# Objekt der Klasse deklarieren
webServer = http.Server.HTTPServer((HOST, PORT), PythonServer)
# Drucken Sie die URL des Webservers
print("Server gestartet http://%s:%s" % (HOST, PORT))
Versuchen:
# Führen Sie den Webserver aus
webServer.Serve_forever()
außer KeyboardInterrupt:
# Stoppen Sie den Webserver
webServer.server_close()
print("Der Server ist angehalten.")

Ausgabe

Die folgende Ausgabe wird erscheinen, 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.

Fazit

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.

Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...