urllib.request中Handler处理器
 1、定义
      自定义的urlopen()方法,urlopen()方法是一个特殊的opener(模块已定义好),不支持代理等功能,通过Handler处理器对象来自定义opener对象
  2、常用方法
      1、build_opener(Handler处理器对象) :创建opener对象
      2、opener.open(url,参数)
  3、使用流程
      1、创建相关的Handler处理器对象
          http_handler = urllib.request.HTTPHandler()
      2、创建自定义opener对象
          opener = urllib.request.build_opener(http_handler)
      3、利用opener对象打开url
          req = urllib.request.Request(url,headers=headers)
          res = opener.open(req)
          result = res.read().decode("utf-8")
  4、Handler处理器分类
      1、HTTPHandler() :没有任何特殊功能
      2、ProxyHandler(普通代理)
          代理: {"协议":"IP地址:端口号"}
      3、ProxyBasicAuthHandler(密码管理器对象) :私密代理
      4、HTTPBasicAuthHandler(密码管理器对象) : web客户端认证
    5、密码管理器对象作用
        1、私密代理
        2、Web客户端认证
        3、程序实现流程
            1、创建密码管理器对象
	        pwdmg = urllib.request.HTTPPasswordMgrWithDefaultRealm()
	    2、把认证信息添加到密码管理器对象
	        pwdmg.add_password(None,webserver,user,passwd)
	    3、创建Handler处理器对象
	        1、私密代理
	            proxy = urllib.request.ProxyAuthBasicHandler(pwdmg)
	        2、Web客户端
	            webbasic = urllib.request.HTTPBasicAuthHandler(pwdmg)
                    
                
                
            
        
浙公网安备 33010602011771号