下面的代码是一个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];如何使脚本不打开浏览器?
注意:它发送post请求,该请求使用get请求将重定向返回到相同的uri,并使用我试图存储在变量中的某个表单值进行响应。
发布于 2015-02-19 17:41:36
所以我发现Powershell使用计算机的默认浏览器解析器来解析HTML。这就是它打开浏览器的原因。使用-UseBasicParsing属性使用powershell的HTML解析器。而且至少对于上述情况,Powershell的解析器还不够好!
https://stackoverflow.com/questions/28484361
复制相似问题