Powershell Invoke-Webrequest post方法 - 有效负载长度不正确

时间:2014-05-05 12:55:17

标签: powershell post

我正在尝试使用invoke-webrequst cmdlet提交表单,这是代码

   
$postParams = @{regno='1234567';dob='01/01/1997';B1='Get Marks'} 
$response = Invoke-Webrequest -Uri ("http://studentresulsts/res.asp") -Body $postParams -Method Post -Debug -OutFile out.html
VERBOSE: POST http://studentresulsts/res.asp with -1-byte payload
VERBOSE: received 13-byte response of content type text/html

$响应回复为“拒绝访问”' (13字节响应)

有效负载长度显示为1字节,而$ postParams显然大于1字节。想知道我是否得到了“拒绝访问”的原因'。

在浏览器中手动检查表单,它可以正确使用正确的字段值。

我正在使用powershell 4.0

答:好的,我在服务器寻找的标题中缺少引用URL,然后我包含了referrer,它工作正常:)。我的新脚本看起来像这样。谢谢你的帮助...

$postParams = @{regno='1234567';dob='01/01/1997';B1='Get Marks'} 
$headervals = @{'Referer'='http://studentresulsts/gdslplus/gdslform.htm';'Content-Type'='application/x-www-form-urlencoded'}
$response = Invoke-Webrequest -Uri ("http://studentresulsts/res.asp") -Body $postParams -Method Post -Debug -OutFile out.html

1 个答案:

答案 0 :(得分:0)

您不必手动进行身份验证并不意味着未验证访问权限(例如,IE中的可信站点)。

也许你错过了一个关键的标题?