So verwenden Sie Python SimpleHttpserver

So verwenden Sie Python SimpleHttpserver

Die Hauptaufgabe des Webservers besteht darin, die HTTP -Anfragen vom Client zu bearbeiten. Es wartet auf die HTTP. Python verwendet die SimpleHttpServer Modul zum Erstellen eines Webservers sofort und einfach den Inhalt der Datei vom Server herzustellen. Es kann auch für die Dateifreigabe verwendet werden. Zu diesem Zeitpunkt müssen Sie dieses Modul mit dem Speicherort der gemeinsam genutzbaren Dateien aktivieren. Dieses Modul wird mit dem Python -Dolmetscher geliefert. Sie müssen es nicht installieren. Da dieses Modul mit dem verschmolzen wird http.Server Modul in Python3, also musst du rennen http.Server den Webserver in Python3 ausführen. Wie Webserver verwendet werden kann, um die HTTP -Anforderung und die Freigabe von Dateien zu verarbeiten, wurde in diesem Tutorial gezeigt.

Führen Sie den Webserver vom Terminal aus

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

$ python3 -m http.Server

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


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

$ python3 -m http.Server 8080

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

Führen Sie den Webserver mithilfe des Python -Skripts aus

Führen Sie die folgenden Befehle aus, um einen Ordner mit dem Namen zu erstellen Netz Und gehen Sie 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 in der Netz Ordner mit dem folgenden Skript. Diese Datei wird später vom Webserver bedient.

testhtml.html



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




Glückwunsch! Ihr Webserver wird erfolgreich ausgeführt.


Besuchen LinuxHint.com Weitere Tutorials für 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 unter 8008 Port auszuführen. http.Server Das Modul wurde importiert, um den Webserver auszuführen, und die Socketserver Das Modul wurde importiert, um die HTTP -Anforderung aus dem 8080 -Port zu bearbeiten. Ein Objekt benannt Handler wurde erstellt, um die HTTP -Anfragen zu bearbeiten. für immer() Die Funktion wird aufgerufen, um den Webserver auszuführen. Dem Skript wurde keine Kündigungsbedingung 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
# Setzen Sie die Portnummer
Port = 8080
# Objekt zum Umgang mit HTTP -Anforderungen erstellen
Handler = http.Server.SimpleHttprequestHandler
# Führen Sie den Server für immer aus, um die HTTP -Anforderungen zu bearbeiten
mit Socketserver.TcpServer (("", Port), Handler) als HTTPD:
print ("Webserver wird unter http: // localhost: %s" %port ausgeführt)
httpd.serve_forever ()

Ausgang

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.


Die Liste der Dateien und des Ordners des Skriptspeichers wird angezeigt, wenn die folgende URL aus dem Browser ausgeführt wird.

http: // localhost: 8080

Wenn der Benutzer Strg+C aus dem Terminal drückt oder die Stopptaste aus dem Pycharm -Editor drückt, wird die folgende Fehlermeldung angezeigt. Dieses Problem hat im nächsten Beispiel dieses Tutorials gelöst.

Beispiel-2: Führen Sie den Webserver mit der von der Befehlslinie definierten Portnummer aus

Erstellen Sie eine Python-Datei mit dem folgenden Skript, um einen Webserver am jeweiligen Port auszuführen, wenn das Befehlszeilenargument die Portnummer angibt. Andernfalls werden 5000 als Standardport verwendet. sys Das Modul wurde im Skript importiert, um die Befehlszeilenargumentwerte zu lesen. Versuchen Sie Block wurde im Skript hinzugefügt, um den Fehler zu bewältigen, wenn der Benutzer versucht, den Server zu stoppen. Wenn nach dem Ausführen des Servers die Ausnahme von Tastaturen angezeigt wird, dann die dann die schließen() Die Funktion wird aufgerufen, um den Webserver zu stoppen.

# Servermodul importieren
HTTP importieren.Server
# Socketserver -Modul importieren
Socketserver importieren
# SYS -Modul importieren
Importsystem
versuchen:
# Setzen Sie die Portnummer
Wenn sys.Argv [1:]:
port = int (sys.argv [1])
anders:
Port = 5000
# Legen Sie die IP -Adresse fest
server_address = ('127.0.0.1 ', Port)
# Objekt zum Umgang mit HTTP -Anforderungen erstellen
Handler = http.Server.SimpleHttprequestHandler
# Führen Sie den Webserver für immer aus, um die HTTP -Anforderungen zu bearbeiten
mit Socketserver.TcpServer (("", Port), Handler) als HTTPD:
print ("Webserver wird unter http: // localhost: %s" %port ausgeführt)
httpd.serve_forever ()
# Der Server hat gestoppt
Außer Tastaturinterruhrter:
httpd.server_close ()
drucken ("Der Server wird gestoppt."))

Ausgang

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

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

Öffnen Sie das Dialogfeld Konfiguration im 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 haben sich zu Beginn des Skripts definiert. Pythonserver Die Klasse hat im Skript definiert, um die HTML -Datei im Browser anzuzeigen, wenn der Webserver ausgeführt wird.

# Das Servermodul importieren
HTTP importieren.Server
# Legen Sie den Hostnamen fest
Host = "Localhost"
# Setzen Sie die Portnummer
Port = 4000
# Klasse definieren, um die Indexseite des Webservers anzuzeigen
Klassenpythonserver (HTTP.Server.SimpleHttprequestHandler):
def do_get (self):
Wenn Selbst.Path == '/':
selbst.path = 'testhtml.html '
Rückgabe http.Server.SimpleHttprequestHandler.do_get (self)
# 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 Tastaturinterruhrter:
# Stoppen Sie den Webserver
Webserver.server_close ()
drucken ("Der Server wird gestoppt."))

Ausgang

Die folgende Ausgabe wird angezeigt, in dem 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 unterschiedlichen Möglichkeiten zur Implementierung von Webservern durch Nutzung http. Server Das Modul wurde in diesem Tutorial gezeigt, dass Python -Benutzer dabei helfen, einen einfachen Webserver in Python zu erstellen.