在前面两篇文章《urllib2源码解读二(简单的urlopen)》
OpenerDirector是怎么把这些handler分类的 上篇文章说到,在build_opener中只是调用了OpenerDirector的add_handler方法,并不是直接操作的属性来完成handler的添加的。那么来看看OpenerDirector.add_hand
对上面的几个对象有个基本概念之后,再来深究下代码,从一个最普通的urllib2.urlopen()开始,先来熟悉下第一个重点对象:build_opener这个函数。 大家最为熟悉的一段代码: res = urllib2.urlopen('