有没有办法限制python的urllib2模块下载的数据量?有时候我遇到了破坏的网站,其中包含/ dev / random作为一个页面,结果发现它们耗尽了服务器上的所有内存。
答案 0 :(得分:3)
urllib2.urlopen
返回一个类似文件的对象,你可以(至少在理论上).read(N)
来自这样一个对象,以限制最多返回N个字节的数据量。
这种方法并非完全万无一失,因为一个积极敌对的网站可能会花费相当多的时间来欺骗一个相当可信的收件人,比如urllib2的默认开启者;在这种情况下,您需要实现并安装自己的开启工具,知道如何防范此类攻击(例如,从开放套接字一次获得不超过MB的数据等)。