PowerShell Invoke-Webrequest登录失败



我们有一个我想登录的网站,并进行一些自动化操作,以获得我想要的信息。

首先你需要喜欢把这些细节放在这个网站下面

http://ipamtool.*****.com/menandmice/Login.htm
Host: 
Username:
Password:

然后一旦你成功登录,你就会到达这个网站

我关注了这个网站,它确实很有帮助,但这个网站使用表单,而我正在工作的网站没有,相反,它有这个inputFields。所以我最终得到了以下代码:

$r = Invoke-WebRequest -Uri "http://ipamtool.*****.com/menandmice/Login.htm" -SessionVariable my_session
$form1 = $r.InputFields
$form1.FindById('itsServer').outerText = 'somehost'
$form1.FindById('itsUsername').outerText = 'somedomainsomeuser'
$form1.FindById('itsPassword').outerText = 'somepassword'
$r = Invoke-WebRequest -Uri "http://ipamtool.*****.com/menandmice/Login.htm" -SessionVariable my_session

我的困难是,我关注的网站使用$form.Action,我试图使用.Action方法,但它在我的网站中似乎不可用。

如何使用Invoke-WebRequest登录页面并转到下一个页面?

我需要帮助。非常感谢。

这是我的错误:

Invoke-WebRequest : Cannot convert 'Microsoft.PowerShell.Commands.WebCmdletElementCollection' to the type 'System.Uri' 
required by parameter 'Uri'. Specified method is not supported.
At C:ToolsExtractDNSExtractDNS.ps1:27 char:24
+ Invoke-WebRequest -uri $form1 -WebSession $my_session
+                        ~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

我认为发布的输出与上面的代码并不匹配。-Uri参数需要类似http://ipamtool.*****.com/menandmice/Login.htm的东西,而可能不是错误所说的$form1

请注意,您可以添加-Method 'POST'来向服务发送数据。有关更多信息,请参阅示例2的文档。

相关内容

最新更新