如何使用Powershell httpListener捕获post / get变量?

时间:2013-04-01 18:48:09

标签: powershell http-post http-get httplistener

我想知道如何使用powershell system.net.HttpListener捕获url变量 感谢

$listener = New-Object system.net.HttpListener
$listener.Prefixes.Add('http://127.0.0.1:8080')
$listener.Start()
$context = $listener.GetContext() # block
$request = $context.Request
$response = $context.Response
# $var = read post/get var
$page = Get-Content -Path C:\play.html -Raw
$page = $page.Replace('%VAR%',$var)
$buffer = [System.Text.Encoding]::UTF8.GetBytes($page)
$response.ContentLength64 = $buffer.Length
$output = $response.OutputStream
$output.Write($buffer,0,$buffer.Length)
$output.Close()
$listener.Stop()

1 个答案:

答案 0 :(得分:2)

如果方法头是GET,则使用QueryString属性获取查询参数。如果方法标题是POST,则检查HasEntityBody属性,如果为true,则使用InputSteam属性从正文中读取POST数据。