Осторожно. Http-сервер, возвращающий метод deflate, может доставить одну из двух разных вещей. Либо поток с дефлированием в zlib (RFC 1950) (RFC 1951) (это то, что указано в стандарте http), либо поток необработанного дефляции (RFC 1951). Последний виден с серверов Microsoft, написанных кем-то, кто не внимательно прочитал стандарт.
Вы можете решить эту проблему, попробовав это обоими способами (начиная с правильного пути), или не предоставив deflate как принятый метод от вашего клиента, только разрешив gzip. С gzip нет никакой двусмысленности.
Для zlib может существовать интерфейс, позволяющий вам попробовать оба способа, а если нет, то вам может потребоваться написать собственный интерфейс или использовать zlib напрямую. В zlib вы можете декодировать поток в zlib, начиная с inflateInit (strm), или вы можете декодировать необработанный поток deflate, начиная с inflateInit2 (strm, -15).