限制下载页面大小
有没有办法限制使用python的urllib2模块下载的数据量?有时候我会遇到一些坏掉的网站,它们的页面像是/dev/random那样,结果会把服务器的内存用光。
1 个回答
3
urllib2.urlopen
会返回一个类似文件的对象,你可以用 .read(N)
从这个对象中读取数据,这样可以限制最多返回 N 字节的数据。
不过,这种方法并不是完全可靠的,因为一些恶意网站可能会想尽办法来欺骗像 urllib2 默认打开器这样的信任工具。在这种情况下,你需要自己实现并安装一个打开器,让它能够抵御这些攻击(比如,每次从打开的连接中获取不超过一兆字节的数据等等)。