Lokaler Python-Server

Abid Ullah 15 Februar 2024
  1. Erstellen Sie einen HTTP-Server von Grund auf neu in Python
  2. Was ist ein HTTP-Server
  3. Erstellen Sie einen einfachen HTTP-Server mit einem Befehl in Python
Lokaler Python-Server

Dieses Tutorial zeigt uns, wie man einen HTTP-Server in Python erstellt. Und nachdem wir dieses Tutorial durchgearbeitet haben, wird es uns leicht fallen, einen HTTP-Server mit nur wenigen Codezeilen einzurichten.

Sobald wir unseren HTTP-Server erstellt haben, können wir damit beginnen, Dateien von ihm bereitzustellen. Lassen Sie uns für weitere Unterstützung tief in die Schritt-für-Schritt-Anleitung für den Python-HTTP-Server eintauchen.

Erstellen Sie einen HTTP-Server von Grund auf neu in Python

Irgendwann in unserer Karriere als Softwareentwickler müssen wir unabhängig von unserem Softwareentwickler mit Webservern arbeiten. Möglicherweise müssen wir einen API-Server für einen Backend-Dienst entwickeln.

Vielleicht würden wir nur einen Webserver für unsere Website einrichten.

Python vereinfacht die Bereitstellung von Dateien aus einem Verzeichnis mithilfe eines primären HTTP-Servers. Dies ist keineswegs eine innovative Technik, aber sie ist nützlich, wenn wir sie brauchen.

Was ist ein HTTP-Server

Ein HTTP-Server ist ein Computerprogramm (oder möglicherweise eine Softwarekomponente eines anderen Programms), das als Server in einer Client-Server-Architektur fungiert, indem es den Serverteil der HTTP- und/oder HTTPS-Netzwerkprotokolle implementiert.

Ein HTTP-Server überwacht eingehende Client-Anforderungen (von Benutzeragenten wie Browsern, Webcrawlern usw.) und antwortet auf jede Anforderung, indem er die angeforderte Webressource überträgt oder eine HTTP-Fehlermeldung zurückgibt.

Ein HTTP-Server enthält außerdem Bindungen zum Verwalten von Protokollerweiterungen zu HTTP (z. B. WebDAV) oder Nachrichten anderer Protokolle, die in HTTP-Nachrichten eingeschlossen sind (z. B. SOAP), um Programm-zu-Programm-Interaktionen zu unterstützen.

Die Komplexität einer HTTP-Serverimplementierung kann von einer kleinen und kontrollierbaren Komponente bis zu einer Softwareimplementierung mit vollem Funktionsumfang von HTTP und anderen Protokollen reichen, die im Hintergrund und als ein oder mehrere Prozesse ausgeführt werden können.

Ein HTTP-Server findet sich in jeder Art von Computern, also auch in eingebetteten Systemen und Supercomputern, und wird unter anderem auch für den Betrieb von Webschnittstellen (Webapplikationen) benötigt.

Klären wir diesen Punkt genauer.

Erwägen Sie, unseren Chrome-Browser zu öffnen und www.gmail.com in die Adressleiste einzugeben.

Die Startseite von Gmail wird nach Ausführung des Links im Fenster unseres Webbrowsers angezeigt. Doch was geschah genau hinter den Kulissen?

Ehrlich gesagt sind viele Dinge passiert, und wir können etwas Zeit darauf verwenden, die mysteriösen Mechanismen zu erforschen, die dahinterstecken, wie es dazu kam. Wir werden dieses Thema jedoch der Klarheit und Prägnanz halber anhand eines Beispiels erörtern.

Wenn wir www.gmail.com in unseren Browser eingeben, generiert unser Browser eine Netzwerknachricht, die als HTTP-Anforderung bekannt ist. Diese Anfrage wird an eine Maschine bei Gmail gesendet, die einen Webserver betreibt, und verbleibt dort, bis sie verarbeitet wird.

Dieser Webserver wird unsere Anfrage erkennen, verarbeiten und uns dann als Antwort den HTML-Code für die gmail-Homepage zur Verfügung stellen.

Am Ende zeigt uns unser Webbrowser diesen HTML-Code auf dem Bildschirm unseres Systems an, was wir sehen, wenn wir auf unseren Computer schauen.

Serveranfrage und -prozess

So wird eine Anfrage gesendet und bearbeitet. Jetzt, da wir den Prozess hinter den Kulissen kennen, können wir leicht zu unserem Hauptthema übergehen, dem Erstellen eines HTTP-Servers mit Python.

Erstellen Sie einen einfachen HTTP-Server mit einem Befehl in Python

Installation

Wir können Python von hier installieren, wenn wir es nicht bereits installiert haben (wahrscheinlich unter Verwendung von Windows).

Da wir Python installiert haben, können wir mit dem Erstellen eines HTTP-Servers fortfahren. Öffnen Sie zunächst das Terminal und geben Sie den folgenden Befehl in das Terminal ein.

Beispielcode:

python -m http.server

Wenn wir den Befehl ausführen, erhalten wir eine Meldung, die je nach Konfiguration unserer Computer Server gestartet und Server gestoppt anzeigt.

Und da haben wir ihn – unseren eigenen Python-Server! Es ist ein einfacher, ein Webserver auf dem Standardport unserer Maschine von 8000.

Es erfüllt ausschließlich diese Funktion. Das Ändern des Ports ist auch möglich, indem Sie die neue Portnummer am Ende der Zeile einfügen, wie hier zu sehen:

python -m http.server 8080

Der obige Code ändert den Serverport von Standardport 8000 auf 8080.

Jetzt müssen wir entweder zu http://localhost:8000/ oder http://127.0.0.1:8000/ gehen, um den Server in unserem lokalen Netzwerk zu erreichen. Von diesem Punkt an können wir alle Ordner sehen, aus denen sich unser lokaler Speicher und alle Daten zusammensetzen.

Wir können auch eine HTML-Seite besuchen; Wenn wir dies tun, erstellt unser Webbrowser die Seite automatisch für uns neu.

BaseHTTPRequestHandler

BaseHTTPRequestHandler ist eine Klasse, die verwendet wird, um die verschiedenen Anforderungen zu verwalten, die an einen Server gesendet werden. Es verarbeitet die Get- und Post-Anfragen, nicht die eigentliche HTTP-Anfrage selbst.

HTTPServer

Diese als HTTPServer(server address, BASE HTTP REQUEST HANDLER(),) bezeichnete Funktion dient dazu, neben dem Namen des Servers auch die Portnummer des Servers zu speichern.

Der Ansatz Schritt für Schritt

  1. Wir erstellen eine Klasse, die für die Verwaltung der Serveranforderungen verantwortlich ist.
  2. Nachdem wir fertig sind, werden wir eine Methode in dieser Klasse entwickeln, die für GET-Anfragen verwendet wird.
  3. Innerhalb der Grenzen dieser Funktion wird der HTML-Code entworfen, der zur Anzeige auf dem Server verwendet wird.
  4. Ganz zum Schluss verwenden wir die Methode HTTPServer(), die für den Betrieb unseres Servers verantwortlich ist.

Jetzt werden wir die oben beschriebenen Schritte mit der Python-Sprache implementieren.

# importing all the functions
# from http.server module
# * means all
from http.server import *

# creating a class for handling
# basic Get and Post Requests


class GFG(BaseHTTPRequestHandler):
    # We will create a function
    # for Get Request using the command below
    def do_GET(self):
        # Successful Response --> 200
        self.send_response(200)
        # Type of file that we are using for creating our
        # web server.
        self.send_header("content-type", "text/html")
        self.end_headers()
        # whatever we write in our function,
        # we can see it at the web-server
        self.wfile.write("<h1>AO-(AbidOrakzai)</h1>".encode())


# this object takes a report
# number and the server-Name
# for running the server
port = HTTPServer(("", 5555), GFG)
# We use this for running our
# server as long as we want, i.e., forever
port.serve_forever()

Ausgang:

AO-(AbidOrakzai)

Wie können wir unseren HTTP-Server starten

Wir können die folgenden Terminalanweisungen verwenden, um unseren HTTP-Server zu starten.

Beispielcode:

python our_file_name.py

Und der letzte Schritt ist der Zugriff auf den Server unter Port 5555. Wir können den Browser http://localhost:5555/ oder http://127.0.0.1:5555/ verwenden.

Wir hoffen, dass dieser Artikel Ihnen dabei hilft, besser zu verstehen, wie ein HTTP-Server mit Python von Grund auf neu erstellt werden kann.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

Verwandter Artikel - Python Server