zoukankan      html  css  js  c++  java
  • Python urllib和urllib2模块学习(三)

      build_opener()详解:

      1.urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能,要支持这些功能,必须使用build_opener()函数创建自定这句话的Opener对象。

      代码如下:

      build_Opener([handler1[handle2,...]])

      参数handler是Handler实例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。

      build_opener ()返回的对象具有open()方法,与urlopen()函数的功能相同。

      如果要修改http报头,可以用:

      import urllib2

      opener = urllib2.build_opener()

      opener.addheaders =[('User-agent','Mozilla/5.0')]

      opener.open('http://www.example.com/')

      2.install_opener(opener)

      安装不同的opener对象作为urlopen()使用的全局opener。

      

      3. 密码验证(HTTPBasicAuthHandler)

      HTTPBasicAuthHandler()处理程序可用add_password()来设置密码。

      

      4.cookie处理(HTTPCookieProcessor)

      代码如下:

      import urllib2,cookielib

      cookie = cookielib.CookieJar()

      cookiehand = urllib2.HTTPCookieProcessor(cookie)

      opener = urllib2.build_opener(cookiehand)

      

      5. 代理(ProxyHandler)

      ProxyHandler(proxies)参数proxies是一个字典,将协议名称(http,ftp)等映射到相应代理服务器的URL。

      

      

      

  • 相关阅读:
    04 类与对象
    03 方法
    02-JAVA语法基础
    大道至简第二章 读后感
    leetcode 65 有效数字
    leetcode 670 最大交换
    leetcode 49 字母异位词分组
    leetcode 71 简化路径
    leetcode 2 两数相加
    java compareTo 与 equals 区别
  • 原文地址:https://www.cnblogs.com/yu2000/p/4503197.html
Copyright © 2011-2022 走看看