4
httplib2で応答サイズを制限することはできますか?たとえば、HTTPボディをXバイト以上見ると、接続は帯域幅を消費せずにただ閉じます。あるいは、ファイルの最初のXバイトしかダウンロードしないかもしれません。httplib2で応答サイズを制限する
httplib2で応答サイズを制限することはできますか?たとえば、HTTPボディをXバイト以上見ると、接続は帯域幅を消費せずにただ閉じます。あるいは、ファイルの最初のXバイトしかダウンロードしないかもしれません。httplib2で応答サイズを制限する
サーバーが応答ヘッダーフィールドで応答本文サイズを送信していると仮定すると、自分でそれを行うことができます。
最初にHttp.request(method="HEAD")
を呼び出して、本文ではなくヘッダーのみを取得します。応答のContent-Length
フィールドを調べて、しきい値以下かどうかを確認します。そうである場合は、適切なGET
またはPOST
メソッドを使用して2回目のリクエストを行い、本文を取得してください。それ以外の場合はエラーが発生します。
サーバがあなたにContent-Lengthを与えていない(またはそれについて嘘をついている)場合、いくつかのバイト数の後にダウンロードを切断する方法がないように見えます。
リクエストライブラリはこのジョブを簡単にインポートできます。begin = requests.get( 'http://example.com/').iter_content(1024).next() –