3

Python の urllib2 モジュールによってダウンロードされるデータの量を制限する方法はありますか? /dev/random のようなページを持つ壊れたサイトに遭遇することがあり、サーバー上のすべてのメモリを使い果たしていることがわかります。

4

1 に答える 1

3

urllib2.urlopenファイルのようなオブジェクトを返します。(少なくとも理論的には).read(N)そのようなオブジェクトから、返されるデータの量を最大で N バイトに制限することができます。

積極的に敵対的なサイトは、urllib2 のデフォルトのオープナーのように、かなり信頼できる受信をだますためにかなりの時間を費やす可能性があるため、このアプローチは完全に絶対確実というわけではありません。この場合、そのような攻撃から身を守る方法を知っている独自のオープナーを実装してインストールする必要があります (たとえば、開いているソケットから一度に 1 MB しか取得しないなど)。

于 2009-08-03T22:34:24.667 に答える