2010-12-06 12 views
4

httplib2で応答サイズを制限することはできますか?たとえば、HTTPボディをXバイト以上見ると、接続は帯域幅を消費せずにただ閉じます。あるいは、ファイルの最初のXバイトしかダウンロードしないかもしれません。httplib2で応答サイズを制限する

+1

リクエストライブラリはこのジョブを簡単にインポートできます。begin = requests.get( 'http://example.com/').iter_content(1024).next() –

答えて

5

サーバーが応答ヘッダーフィールドで応答本文サイズを送信していると仮定すると、自分でそれを行うことができます。

最初にHttp.request(method="HEAD")を呼び出して、本文ではなくヘッダーのみを取得します。応答のContent-Lengthフィールドを調べて、しきい値以下かどうかを確認します。そうである場合は、適切なGETまたはPOSTメソッドを使用して2回目のリクエストを行い、本文を取得してください。それ以外の場合はエラーが発生します。

サーバがあなたにContent-Lengthを与えていない(またはそれについて嘘をついている)場合、いくつかのバイト数の後にダウンロードを切断する方法がないように見えます。

関連する問題