zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    数组添加元素到特定位置
    jquery $().each,$.each的区别
    JSON字符串 与 JSON对象 互转
    js 获取 url 参数
    js 获取随机数 Math.random()
    js中的|| 与 &&
    js立即执行函数
    css 蒙层
    css 多行文本的溢出显示省略号(移动端)
    移动端利用-webkit-box水平垂直居中(旧弹性盒)
  • 原文地址:https://www.cnblogs.com/zengsf/p/10024480.html
Copyright © 2011-2022 走看看