我使用 invoke-webrequest 登录网站取得了很大的成功,但我很困惑。我正在尝试登录https:// ctslink.com
or https:// direct.ctslink.com
。登录表单有一个隐藏的令牌字段,每次我尝试登录时该字段都会发生变化,我相信这就是导致问题的原因。我注意到的另一件事是会话变量$fb
第一次调用 invoke-webrequest 后为 null。
$r=Invoke-WebRequest www.ctslink.com -SessionVariable $fb
$form = $r.Forms[0]
$form.Fields["userId"] = "MyUsername"
$form.Fields["passwd"] = "MyPassword"
$r=Invoke-WebRequest 'https://ctslink.com/login.do' -WebSession $fb -Body $form.Fields
任何帮助将不胜感激,
麦克风
不要为会话变量参数添加 $。尝试这个 -
$c = $host.UI.PromptForCredential('Your Credentials', 'Enter Credentials', '', '')
$r = Invoke-WebRequest 'http://1.2.3.4/' -SessionVariable my_session
$form = $r.Forms[0]
$form.fields['username'] = $c.UserName
$form.fields['password'] = $c.GetNetworkCredential().Password
$r = Invoke-WebRequest -Uri ('http://1.2.3.4' + $form.Action) -WebSession $my_session -Method POST -Body $form.Fields
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)