zoukankan      html  css  js  c++  java
  • urllib基本使用-Handler和自定义的opener()

    """
    基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:
    使用相关的 Handler处理器 来创建特定功能的处理器对象;
    然后通过 urllib.requestbuild_opener()方法使用这些处理器对象,创建自定义opener对象;
    使用自定义的opener对象,调用open()方法发送请求。
    如果程序里所有的请求都使用自定义的opener,
    可以使用urllib2.install_opener() 将自定义的 opener 对象 定义为 全局opener,
    表示如果之后凡是调用urlopen,都将使用这个opener(根据自己的需求来选择)
    """
    import urllib.request

    # 构建一个HTTPHandler 处理器对象,支持处理HTTP请求
    http_handler = urllib.request.HTTPHandler()

    # 构建一个HTTPHandler 处理器对象,支持处理HTTPS请求
    #http_handler = urllib.request.HTTPSHandler()

    # 构建一个HTTPHandler 处理器对象,支持处理HTTP请求,同时开启Debug Log,debuglevel 值默认 0
    http_handler = urllib.request.HTTPHandler(debuglevel=1)

    # 调用urllib.request.build_opener()方法,创建支持处理HTTP请求的opener 对象
    opener = urllib.request.build_opener(http_handler)

    # 构建Request请求
    request = urllib.request.Request('http://www.baidu.com/')

    # 调用自定义opener对象的open()方法,发送request请求
    response = opener.open(request)

    print(response.read().decode('utf-8'))
  • 相关阅读:
    洛谷 P3366 【模板】最小生成树
    libfreenect
    openni2 和opencv读取数据
    kinect数据读取
    kinect for windows sdk
    caffe android lib
    Hlsl2glsl
    手势识别半自动标注结果视频
    CLM
    10位算法大师
  • 原文地址:https://www.cnblogs.com/AndyChen2015/p/7418280.html
Copyright © 2011-2022 走看看