Using Invoke-Webrequest in PowerShell 3.0 spawns a Windows Security Warning

对着背影说爱祢 提交于 2019-12-17 12:15:38

问题


When using the following code in PowerShell 3.0

PS> $data = Invoke-Webrequest -Uri stackoverflow.com
PS> $data.ParsedHtml.getElementsByTagName("div")

I get this warning:

Windows Security Warning - To allow this website to provide information personalized for you, will you allow it to put a small file (called a cookie) on your computer?

I would really like to suppress this message or add code to handle cookies, so the code could be scheduled.

I have tried trusting the site in IE allowing cookies and even lowering the "User Account Control Settings" but with no avail.


回答1:


$data = Invoke-WebRequest http://stackoverflow.com -UseBasicParsing

It looks like an Internet Explorer prompt, this is because under the hood Invoke-WebRequest is probably using Internet Explorer to parse the DOM. When you use the -UseBasicParsing parameter you instructing PowerShell to use its own parser. For some reason, it also seems to hide the cookies prompt.




回答2:


The message can be suppressed by loosening the privacy setting in your internet options

You can also just add a per site pricavy option for the site you're using in your script, instead of allowing all cookies.

Opposed to the -UseBasicParsing You'll keep the parsing provided by internet explorer. (At the cost of loosened security)



来源:https://stackoverflow.com/questions/15211573/using-invoke-webrequest-in-powershell-3-0-spawns-a-windows-security-warning

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!