|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Получение контента, сжатого в Brotli |
|
|
PowerShell - Получение контента, сжатого в Brotli
|
Старожил Сообщения: 216 |
Профиль | Отправить PM | Цитировать Добрый день всем!
Кто в теме, подскажите, пожалуйста, если на Powershell возможность получить контент веб страницы, сжатой алгоритмом Brotli ? Имеется ввиду получение текста в читаемой кодировке. |
|
Отправлено: 09:50, 27-03-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Uragan66, пример url приведите.
|
Отправлено: 12:19, 27-03-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 216
|
Профиль | Отправить PM | Цитировать Iska, по некоторым причинам не хотелось бы светить url.
Написал Вам на e-mail. Посмотрите, пожалуйста, почту. |
Отправлено: 14:55, 27-03-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Uragan66, спасибо, посмотрел.
Как я понимаю, что-то делалось (отсюда: Add support for brotli compression to Web Cmdeltes · Issue #4947 · PowerShell/PowerShell · GitHub): Цитата:
|
|
Отправлено: 17:00, 27-03-2020 | #4 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
т.е. можно тот пример из ссылки использовать так: Invoke-WebRequest https://www.bayden.com/test/brotliimg.aspx -Headers @{'Accept-Encoding'='br'} -OutFile C:\temp\brotli.jpg param( $infile = 'C:\temp\brotli.jpg', $outfile = 'C:\temp\brotli_out.jpg' ) function BrotliDecompress { param ( [parameter(Mandatory=$true)] [string]$a, [parameter(Mandatory=$true)] [string]$b ) $in = [io.filestream]::new($a, [io.filemode]::open) $out = [io.filestream]::new($b, [io.filemode]::create) $decompress = [io.compression.brotlistream]::new( $in,[io.compression.compressionmode]::decompress ) $decompress.copyto($out) $in.dispose() $out.dispose() } BrotliDecompress $infile $outfile |
||
------- Отправлено: 18:01, 27-03-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, я правильно понимаю, что, в принципе, те же действия можно проделать и с потоком в памяти (без участия внешних промежуточных файлов)?
|
Отправлено: 20:52, 27-03-2020 | #6 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата:
|
||
------- Последний раз редактировалось YuS_2, 27-03-2020 в 21:33. Отправлено: 21:25, 27-03-2020 | #7 |
Старожил Сообщения: 216
|
Профиль | Отправить PM | Цитировать Iska, YuS_2, спасибо большое за помощь!
Получилось отлично, на выходе файл в нужной кодировке. |
Отправлено: 22:01, 27-03-2020 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Uragan66, ну, вот и славненько .
|
Отправлено: 22:58, 27-03-2020 | #9 |
Старожил Сообщения: 216
|
Профиль | Отправить PM | Цитировать С потоком памяти не сообразил как правильно сделать, написал код с темп файлом:
param( $infile = "$file.FullName", $outfile = 'I:\brotli_out.txt' ) function BrotliDecompress { param ( [parameter(Mandatory=$true)] [string]$a, [parameter(Mandatory=$true)] [string]$b ) $in = [io.filestream]::new($a, [io.filemode]::open) $out = [io.filestream]::new($b, [io.filemode]::create) $decompress = [io.compression.brotlistream]::new( $in,[io.compression.compressionmode]::decompress ) $decompress.copyto($out) $in.dispose() $out.dispose() } $file = New-TemporaryFile Invoke-WebRequest -Uri "какой-то сайт" -Headers @{"method"="GET"; "accept"="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"; "referer"="другая страница сайта"; "accept-encoding"="gzip, deflate, br"; "accept-language"="ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7"} -OutFile $file.FullName BrotliDecompress $file.FullName $outfile Remove-Item $file.FullName -errorAction silentlycontinue |
Отправлено: 07:40, 28-03-2020 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Создание универсального сжатого ISO образа Windows 10 AIO | Juriyx | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 9 | 29-10-2018 15:18 | |
Браузер Edge получил поддержку открытого алгоритма сжатия Google Brotli | OSZone News | Новости и события Microsoft | 1 | 27-12-2016 20:34 | |
[решено] Случайно попала жидкость от сжатого воздуха | monster | Материнские платы и память | 5 | 27-07-2013 19:51 | |
Защита контента | Dragon7 | Вебмастеру | 13 | 15-07-2011 03:40 | |
Уценка контента оператором | united | Мобильные ОС, смартфоны и планшеты | 6 | 17-10-2008 15:23 |
|