Wie kann man in PowerShell einen Webserver programmieren, der verschiedene Antwortseiten liefert?

Antwort vom

In PowerShell kannst du mit dem eingebauten .NET-Framework einen einfachen Webserver erstellen, der auf HTTP-Anfragen reagiert und unterschiedliche Antworten je nach angeforderter URL zurückgibt. Das geht z.B. mit der Klasse `HttpListener`. Hier ein einfaches Beispiel: ```powershell # HttpListener-Objekt erstellen $listener = New-Object System.Net.HttpListener $listener.Prefixes.Add("http://localhost:8080/") $listener.Start() Write-Host "Webserver läuft auf http://localhost:8080/" while ($listener.IsListening) { $context = $listener.GetContext() $request = $context.Request $response = $context.Response # Unterschiedliche Antworten je nach URL switch ($request.Url.AbsolutePath) { "/seite1" { $antwort = "<html><body><h1>Dies ist Seite 1</h1></body></html>" } "/seite2" { $antwort = "<html><body><h1>Willkommen auf Seite 2!</h1></body></html>" } default { $antwort = "<html><body><h1>404 - Nicht gefunden</h1></body></html>" $response.StatusCode = 404 } } $buffer = [System.Text.Encoding]::UTF8.GetBytes($antwort) $response.ContentLength64 = $buffer.Length $response.OutputStream.Write($buffer, 0, $buffer.Length) $response.OutputStream.Close() } $listener.Stop() ``` **Hinweise:** - Der Server läuft auf `http://localhost:8080/`. Du kannst die Portnummer anpassen. - Die Endpunkte `/seite1` und `/seite2` geben unterschiedliche HTML-Seiten zurück. - Alle anderen Pfade liefern eine 404-Fehlerseite. - Zum Beenden des Servers einfach das PowerShell-Fenster schließen oder mit `Ctrl+C` abbrechen. **Achtung:** Dieser Webserver ist sehr einfach gehalten und nicht für den produktiven Einsatz gedacht. Für komplexere Anforderungen empfiehlt sich ein Framework wie [ASP.NET Core](https://learn.microsoft.com/de-de/aspnet/core/) oder ein dedizierter Webserver.

Neue Frage stellen

Verwandte Fragen

Wie sieht ein PowerShell-Script aus, das jede Sekunde eine Internetseite aufruft?

Ein einfaches PowerShell-Skript, das jede Sekunde eine Internetseite aufruft, könnte so aussehen: ```powershell while ($true) { Invoke-WebRequest -Uri "https://www.beispielseite.de"...

Wie ruft man in PowerShell eine Funktion mit Übergabestring auf?

In PowerShell rufst du eine Funktion mit einem Übergabestring wie folgt auf: Angenommen, du hast eine Funktion definiert: ```powershell function SagHallo($name) { Write-Host "Hallo, $n...

Wie definiere und benutze ich eine PowerShell-Funktion mit Parameter und Rückgabewert?

Eine Funktion in PowerShell, die mit einem Parameter aufgerufen wird und deren Rückgabewert in eine Variable geschrieben wird, sieht zum Beispiel so aus: ```powershell function Addiere-Zwei {...

Wie ruft man in PowerShell eine Funktion auf?

In PowerShell rufst du eine Funktion auf, indem du einfach ihren Namen verwendest, gefolgt von eventuellen Parametern. Beispiel: ```powershell function SagHallo { Write-Host "Hallo Welt!&quo...

Wie entfernt man in einer Variablen alles nach NewLine per PowerShell?

Um in PowerShell alles nach einem Newline-Zeichen (`"`n"`) aus einer Variable zu entfernen, kannst du die Methode `-split` verwenden und nur das erste Element behalten. Beispiel: ```powersh...

Wie kann man mit PowerShell das aktuelle Datum in Unixzeit (Unixtime) umwandeln?

Ja, das ist mit PowerShell möglich. Du kannst das aktuelle Datum in einen Unix-Timestamp (Sekunden seit dem 1.1.1970, 00:00:00 UTC) wie folgt umwandeln: ```powershell # Aktuelles Datum und Uhrze...

Kann man in PowerShell Subfunktionen verwenden?

Ja, in PowerShell kannst du sogenannte "Subfunktionen" einbauen. In PowerShell werden diese als "verschachtelte Funktionen" oder "lokale Funktionen" bezeichnet. Du kannst...

Wie kann man per PowerShell eine Excel-Spalte anhand des Zellinhaltes identifizieren?

Um in PowerShell eine Excel-Spalte anhand des Zellinhalts zu identifizieren, kannst du die COM-Schnittstelle von Excel verwenden. Das folgende Beispiel zeigt, wie du eine Excel-Datei öffnest, ein...

Wie kann man in PowerShell Spaltennamen einer Excel-Datei als Variablen für die Weiterverarbeitung verwenden?

Um in PowerShell die mit Titeln versehenen Spalten einer Excel-Datei als Variablen zu verwenden, kannst du das Modul **ImportExcel** nutzen. Damit kannst du Excel-Dateien direkt einlesen und die Spalt...

Kann man mit C# PowerShell-Kommandos ausführen?

Ja, mit C# kannst du PowerShell-Kommandos ausführen. Das geht am einfachsten mit der Klasse `System.Management.Automation.PowerShell`, die Teil des .NET Frameworks bzw. des NuGet-Pakets [Microsof...