我可以成功地忽略证书警告并登录网站。但是,我不能浏览到另一个页面$struggle。我在登录后被困在主页。有谁知道如何在登录后使用相同的websession从页面中获取原始内容?谢谢
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
$myurl = "https://localhost/Portal";
$response = Invoke-WebRequest -Uri $myurl -Method Get -SessionVariable mySession
$form = $response.Forms[0]
$form.Fields["DBUser"] = "user"
$form.Fields["DBPassword"] = "pass"
$response = Invoke-WebRequest -Uri ($myurl + $form.Action) -WebSession $mySession -Method Post -Body $form.Fields
$response.statusDescription
$struggle = "https://localhost/Portal/Dashboard.aspx?selection=1001"
$pagedownload = Invoke-WebRequest -Uri ($struggle) -WebSession $mySession发布于 2017-10-03 16:26:55
我已经根据解决类似问题的方式调整了您的代码
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
$myurl = "https://localhost/Portal";
$response = Invoke-WebRequest -Uri $myurl -Method Get
$form = $response.Forms[0]
$form.Fields["DBUser"] = "user"
$form.Fields["DBPassword"] = "pass"
$response = Invoke-WebRequest -Uri ($myurl + $form.Action) -SessionVariable mySession -Method Post -Body $form.Fields
$response.statusDescription
$struggle = "https://localhost/Portal/Dashboard.aspx?selection=1001"
$pagedownload = Invoke-WebRequest -Uri ($struggle) -SessionVariable mySession不同的是,我总是使用-SessionVariable,它接受一个变量名,所以不需要$。我还在获取cookies/headers时捕获您的第二个Invoke-WebRequest上的会话,我假设您在访问$strugle时要使用这些cookie/headers。如有必要,调整代码,使用变量int他第一次调用。
https://stackoverflow.com/questions/46521096
复制相似问题