Использование 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
Вы продолжите разбор, предоставленный интернет-проводником. (За счет ослабленной безопасности)