![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Получение контента, сжатого в Brotli |
|
|
PowerShell - Получение контента, сжатого в Brotli
|
Старожил Сообщения: 232 |
Добрый день всем!
Кто в теме, подскажите, пожалуйста, если на Powershell возможность получить контент веб страницы, сжатой алгоритмом Brotli ? Имеется ввиду получение текста в читаемой кодировке. |
|
Отправлено: 09:50, 27-03-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Uragan66, пример url приведите.
|
Отправлено: 12:19, 27-03-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 232
|
Профиль | Отправить 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 Сообщения: 1235
|
Профиль | Отправить 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 Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата:
|
||
------- Последний раз редактировалось YuS_2, 27-03-2020 в 21:33. Отправлено: 21:25, 27-03-2020 | #7 |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Iska, YuS_2, спасибо большое за помощь!
Получилось отлично, на выходе файл в нужной кодировке. |
Отправлено: 22:01, 27-03-2020 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Uragan66, ну, вот и славненько
![]() |
Отправлено: 22:58, 27-03-2020 | #9 |
Старожил Сообщения: 232
|
Профиль | Отправить 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 |
|