3

有没有办法限制 python 的 urllib2 模块下载的数据量?有时我会遇到以 /dev/random 作为页面的损坏站点,结果发现它们耗尽了服务器上的所有内存。

4

1 回答 1

3

urllib2.urlopen返回一个类似文件的对象,并且您可以(至少在理论上).read(N)从这样的对象中将返回的数据量限制为最多 N 个字节。

这种方法并不完全是万无一失的,因为一个积极的敌对网站可能会花费相当长的时间来欺骗一个相当可靠的接收者,比如 urllib2 的默认开启程序;在这种情况下,您需要实现并安装自己的开启程序,该开启程序知道如何保护自己免受此类攻击(例如,一次从打开的套接字获取不超过一个 MB 等)。

于 2009-08-03T22:34:24.667 回答