由于我升级到
Windows 8,很多我依靠启动一个不可见的IE的PowerShell脚本将不再工作,所以我尝试切换到Invoke-WebRequest命令.我做了很多谷歌搜索,但仍然无法让我的脚本工作.
这是它应该做的:
用一个简单的表单加载一个网站(用户名,密码,提交按钮)
>输入凭据
>并提交.
随着微软技术网络难以置信的难题(至少对我而言)的“帮助”,我将以下几点结合在一起:
$myUrl = "http://some.url" $response = Invoke-WebRequest -Uri $myUrl -Method Default -SessionVariable $rb $form = $response.Forms[0] $form.Fields["user"] = "username" $form.Fields["password"] = "password" $response = Invoke-WebRequest -Uri $form.Action -WebSession $rb -Method POST $response.StatusDescriptionOK
Cannot index into a null array.
$form.Fields[“user”] = “username”
06001
第二个与$form.Action有关,我不知道应该读什么:
Invoke-WebRequest : Cannot validate argument on parameter ‘Uri’. The argument is
null or empty. Supply an argument that is not null or empty and then try the command
again.
再次,我非常依赖example #2 at Microsoft.
编辑:感谢哈密尔的资本化.我的礼仪在哪里;)
解决方法
直接尝试这样做:
$formFields = @{username='john doe';password='123'} Invoke-WebRequest -Uri $myUrl -Method Post -Body $formFields -ContentType "application/x-www-form-urlencoded"
原文地址:https://www.jb51.cc/html/223813.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。