我已经写了一个脚本登录到一个客户网站。一切正常,但他们报告说,他们看到的是从我使用的帐户陈腐的会话。我不知道该如何解决这个问题,因为我的googlefu什么也不回。下面是我写的代码:
$c = Get-Credential -credential ${CREDENTIAL}
$loginbase = 'http://${IP}'
$loginURL = $loginbase + '/AdminTools/querybuilder/'
$r = Invoke-WebRequest -Uri ($loginURL + 'logonform.jsp') -SessionVariable session
$form = $r.Forms[0];
$form.Fields['aps'] = '${Node.DNS}:6400';
$form.Fields['usr'] = $c.Username;
$form.Fields['pwd'] = SecureStringToString $c.Password;
$r = Invoke-WebRequest -Uri ($loginURL + $form.Action) -Method POST -Body $form.Fields -WebSession $session;
我已经盯着这个看了太久了,只是需要另一双眼睛来推动我朝着正确的方向前进。
如果这真的很重要,我已经运行了这个脚本,有和没有会话变量。不过,我最初的想法是,会话会导致会话保持打开状态,并且在尝试再次登录时将被重用。此外,这也是监视解决方案的一部分,因此它被设置为每120秒尝试登录一次。
发布于 2016-11-16 11:11:56
由于会话是由web服务器上的某个内容维护的,您的脚本需要采取“注销”操作,以允许web服务器关闭您的会话。该网站的维护者应该有一个URL,您可以调用一个请求,该请求将执行注销操作,并清理其服务器上的任何资源。
https://stackoverflow.com/questions/40640025
复制相似问题