Powershell处理cookie popup而不使用invoke-webrequest

时间:2016-03-11 21:51:21

标签: powershell cookies

我正在尝试使用不使用invoke-webrequest的脚本。我遇到的问题是,当我运行脚本时会出现弹出提示,弹出窗口包含以下消息;

" Windows安全警告 为了让本网站能够为您提供个性化的信息,您是否允许它在您的计算机上放置一个小文件(称为cookie)?" 是没有用户回复 我正在执行的代码如下:

$ParsedHTML = New-Object -com "HTMLFILE"
$webresponse = New-Object System.Net.WebClient
$webresponse.Headers.Add("Cookie", $CookieContainer.GetCookieHeader($url))
$result = $webresponse.DownloadString($url)
$ParsedHTML.IHTMLDocument2_write($webresponse)
$ParsedHTML.body.innerText

此代码的主要问题是我使用网络链接的$ url检查是否启用了Cookie并且此代码导致返回值为disabled。

我的问题是,有没有办法处理cookie请求而不改变测试网址的输出响应。

注意:此脚本将自动执行数百台远程计算机上的进程,因此使用未处理的弹出窗口只会阻止脚本运行。

1 个答案:

答案 0 :(得分:3)

我在另一个问题Using Invoke-Webrequest in PowerShell 3.0 spawns a Windows Security Warning

中找到了答案

添加参数-UseBasicParsing

Technet https://technet.microsoft.com/en-us/library/hh849901.aspx注意到该参数会停止DOM处理。并且有警告"当计算机上未安装Internet Explorer时,例如在Windows Server操作系统的服务器核心安装上,此参数是必需的。"

所以,你的里程可能会有所不同。