Использование Invoke-Webrequest в PowerShell 3.0 порождает предупреждение о безопасности Windows

При использовании следующего кода в PowerShell 3.0

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

Я получаю это предупреждение:

Предупреждение о безопасности Windows. Чтобы этот веб-сайт предоставлял информацию персонализированный для вас, разрешите ли вы поместить небольшой файл (называемый cookie) на вашем компьютере?

Мне бы очень хотелось, чтобы подавлял это сообщение или добавлял код для обработки файлов cookie, поэтому код мог быть запланирован.

Я попытался доверять сайту в IE, разрешая куки и даже понижая "Настройки контроля учетных записей", но безрезультатно.

Ответы

Ответ 1

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

Похоже на приглашение Internet Explorer, потому что под капотом Invoke-WebRequest, вероятно, использует Internet Explorer для анализа DOM. Когда вы используете параметр -UseBasicParsing, вы указываете PowerShell использовать собственный синтаксический анализатор. По какой-то причине он также, похоже, скрывает подсказки файлов cookie.

Ответ 2

Сообщение может быть подавлено путем ослабления настройки конфиденциальности в ваших интернет-опциях enter image description here

Вы также можете добавить опцию для каждого сайта на свой сайт script, а не разрешать все файлы cookie.

Против -UseBasicParsing Вы продолжите разбор, предоставленный интернет-проводником. (За счет ослабленной безопасности)