Декодирование тел ответов в формате gzip с помощью url-retrieve

Для расширения Emacs я бы нравится получать данные через HTTP. Мне не особо нравится идея обстреливать такие вещи, как wget , curl или w3m , чтобы иметь возможность это сделать, поэтому я с использованием функции url-retrieve .

Один из HTTP-серверов, с которым я разговариваю, игнорирует заголовки Accept-Encoding и настаивает на том, чтобы всегда отправлять свои данные с ] Content-Encoding: gzip .

В результате и того факта, что url-retrieve не декодирует автоматически тела ответа, буфер url-retrieve представит мне, что он будет содержать двоичные данные gzip.

Я ищу способ декодирования тела ответа, желательно по частям, по мере поступления данных. Есть ли способ указать url-retrieve сделать это за меня?

Одновременное декодирование ответа, как только он будет полностью получен, также будет приемлемым, но я бы предпочел избегать всего этого фубара участвовал в создании асинхронного подпроцесса, запускающего gzip, передавая части ответа, который я получил, и считывал декодированные фрагменты обратно - я бы искал здесь некоторую библиотечную функцию.

6
задан rafl 6 October 2010 в 06:14
поделиться