У меня есть требование сжать (Gzip) большой объект в PowerShell и отправить строку Gzip в теле запроса REST (а не PUT в виде файла).
Пример строки GZip ( реальные данные в PasteBin ), созданные с использованием следующего кода PowerShell:
$ms = New-Object System.IO.MemoryStream
$cs = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Compress)
$sw = New-Object System.IO.StreamWriter($cs)
$sw.Write($Payload)
$sw.Close();
[System.Convert]::ToBase64String($ms.ToArray()) | Out-File $SomePath -Force | Out-Null
$cs.Close();
$ms.Close();
Позже я прочитал содержимое $SomePath
и отправилк API.
Хорошие новости?
ВСЕ РАБОТАЕТ!
Плохие новости?
Вы можете прочитать строку GZip в PHP, используя: gzdecode(base64_decode($content));
, но при попытке открыть GZip с помощью 7Zip или любой другой программы архивации вы получите следующую ошибку:
Почему я не могу открыть этот контент GZip с помощью обычного инструмента?Просмотр веб-страниц может быть связан с заголовками - кто-нибудь может указать мне правильное направление, пожалуйста?