Contenidos
Servidor web
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$routes = @{ "/" = { return '<html><body>Servidor web</body></html>' } } $url = 'https://localhost:8080/' $listener = New-Object System.Net.HttpListener $listener.Prefixes.Add($url) $listener.Start() Write-Host "Funcionando $url..." while ($listener.IsListening) { $context = $listener.GetContext() $requestUrl = $context.Request.Url $con $response = $context.Response Write-Host '' Write-Host "Petición: $requestUrl" $localPath = $requestUrl.LocalPath $route = $routes.Get_Item($requestUrl.LocalPath) if ($route -eq $null) { $response.StatusCode = 404 } else { $content = & $route $buffer = [System.Text.Encoding]::UTF8.GetBytes($content) $response.ContentLength64 = $buffer.Length $response.OutputStream.Write($buffer, 0, $buffer.Length) } $response.Close() $responseStatus = $response.StatusCode Write-Host "Respuesta: $responseStatus" } |