Invoke-WebRequest登录网站

Invoke-WebRequest login to web site

我正在尝试使用 Powershells Invoke-WebRequest Cmdlet 登录网站。这是我的代码:

$login = Invoke-WebRequest -Uri https://www.franklinamerican.com/ext/general?npage=home -SessionVariable franklin

$form = $login.Forms[0]

$form.Fields["userName"] = "username123"
$form.Fields["brokerPassword"] = "password456"

$login = Invoke-WebRequest -Uri https://www.franklinamerican.com/ext/general?npage=home -WebSession $franklin -Method POST -Body $form.Fields

$login.StatusDescription

无论凭据是否正确,我都会从 StatusDescription 收到 'OK',这看起来很奇怪且令人困惑。我在这里错过了什么?任何帮助将非常感激。谢谢大家

编辑:调用 $login.InputFields

的结果

[1]: http://i.stack.imgur.com/n52XO.png

的图片

您在解释结果时遗漏的是 $login.StatusDescription 指的是 HTTP 状态 ,在这种情况下可能是 HTTP 状态代码 200,转换为"OK".

这与网站的(基于表单的)身份验证无关。您缺少表单所需的内容。查看 $login.Content 并查看网站是否在 HTML 中给了您更具体的错误,您可以使用。