2012-03-04 13 views
0

私はその答えを確信していますが、誰かがそれを確認してほしいです。gzip + chunked:解凍する前にファイル全体のダウンロードを待つ必要がありますか?

gzipがHTTPヘッダーで使用されているときに、ファイルの一部のみを解凍する方法はありません。 ファイルを解凍してデータを取得する前に、ファイル全体をダウンロードする必要があります。

右か?例えば

、私はそのようないくつかのコードを持つ最初の100のバイトを取得する場合:

myfile.read(100) 

を私はこの時点でそれを解凍することができません。

ありがとうございました。

答えて

3

gzipストリームの圧縮をすぐに開始することができます。これまで使用可能な圧縮データに含まれるすべての圧縮されていないバイトを抽出することができます。

常に最初から圧縮解除する必要があります。だからあなたができないのは、gzipストリームの途中で解凍を開始することです。途中のデータにアクセスする場合は、その時点までにすべてのデータを解凍する必要があります。

+0

ありがとうございます。私はRequestsを使ってしまいました。実際には、それが正しく処理されているように見えるので、urllib2を使用したときに間違ったことが起きたかもしれません。 – Michael

1

間違っています。 GZIPはストリーミングを許可します。フォーマットをZIPアーカイブ形式と混同している可能性があります。

+0

zip形式でもストリーミングが可能です。 –

関連する問題