• 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)

  • 相关阅读:
    对于指定区块div,如何区分区块内的点击 和 区块外的点击?
    broadcom代码中httpd进程启动流程介绍
    一个简单的搜索布局样式
    一种在视频OBJECT标签上放置均分四个区域的框选方法
    JQuery执行DOM批量克隆并插入的提效方法
    DevOps技术路线图
    后端开发技术路线图
    Angular route传参
    Angular使用echarts
    TypeScript Array Remove
  • 原文地址:https://www.cnblogs.com/zengsf/p/10024480.html
Copyright © 2020-2023  润新知