Как исправить проблему некорректной кодировки вывода контента страницы при отправке запроса на веб-сайт из Google Network с помощью обезличенного скрипта PowerShell?
Для исправления проблемы с кодировкой в Powershell при использовании Invoke-WebRequest, можно попробовать установить нужную кодировку явно при получении контента. Например, можно использовать параметр `ContentType` со значением `text/html; charset=utf-8` для указания кодировки UTF-8 при запросе контента страницы. Пример кода: ```powershell $response = Invoke-WebRequest -Uri "https://example.com" -Method Get $content = [System.Text.Encoding]::UTF8.GetString($response.Content) Write-Output $content ``` Если указание кодировки явно не помогает, можно попробовать изменить настройки кодировки в Powershell с помощью команды `[Console]::OutputEncoding = [System.Text.Encoding]::UTF8`, чтобы установить кодировку UTF-8 для вывода данных в Powershell. ```powershell [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $response = Invoke-WebRequest -Uri "https://example.com" -Method Get $content = $response.Content Write-Output $content ``` Также можно использовать другие методы парсинга контента, например, использовать библиотеки HTMLAgilityPack или Regular Expressions для обработки и корректного вывода полученных данных.
Короче, полез таки я повторить ваш запрос
На заголовки посмотрел до того не очень внимательно
Тут на самом деле проблема не кодировки в смысле клиента (charset), а encoding для протокола - в смысле алгоритма компрессии. По короткому кусочку вывода это было не очень понятно, а выполнили ли вы рекомендацию записать в файл и там посмотреть - не ответили.
Проблема в том, что PSv5.1 не умеет декодировать контент в том виде как вы его просите, а именно
"accept-encoding"="gzip, deflate, br, zstd"
PSv5.1 умеет в gzip, deflate, zstd . а вот в br не умеет
Варианты:
1. Используйте PSv7, он умеет
2. Уберите ' br ' из заголовка accept-encoding запроса
3. Уберите вообще заголовок accept-encoding из запроса