作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下代码是一个powerShell 脚本,它发送POST 请求并获取响应并将其存储到$response
.当我尝试获取表单值并尝试将其存储到 $wa
时,它会自动打开浏览器。
$destination="https://adfs.somedomain.com/adfs/ls/";
$response = '';
$username = 'some username';
$password = 'some password';
$AuthMethod = 'FormsAuthentication';
$postParams = @{
destination="$destination";
flags='0';
forcedownlevel='0';
trusted='0'
UserName="$($username)";
Password="$($password)";
AuthMethod = "$($AuthMethod)";
isUtf8='1'
}
$url = "$($destination)?wa=wsignin1.0&wtrealm=urn:federation:cas"
$response = Invoke-WebRequest -uri $url -Method POST -body $postParams;
$wa = $response.InputFields.value[0];
最佳答案
所以我发现Powershell使用计算机默认浏览器的解析器来解析HTML。这就是它打开浏览器的原因。
使用 -UseBasicParsing 属性可以利用 powershell 的 HTML 解析器。事实证明,至少对于上述情况,Powershell 的解析器还不够好!
关于PowerShell 脚本自行打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484361/
我发现以下帖子非常有帮助: How to pickle yourself? 但是,此解决方案的局限性在于,重新加载类时,它不会以其“运行时”状态返回。即它将重新加载所有变量等以及类在转储时的一般状态.
我是一名优秀的程序员,十分优秀!