urllib.request 学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Snrt_Julier/article/details/79016580
这个urllib.request模块定义了一些函数和类,这些函数和类有助于在复杂的世界中打开URL(主要是HTTP) - 基本和摘要式的认证,重定向,cookies等等
urllib.request:
	简介: 定义了一些函数和类,有助于在复杂的世界中打开URL,例如:基本和简要身份验证、重定向、cookie等等。
	常用函数:
		urlopen(url,data = None,[ timeout,] *,cafile = None,capath = None,cadefault = False,context = None):打开URL
			参数:
				url: 一个字符串 或者 Request对象。
				data: 发送到服务器的数据
				timeout: 设置超时, 单位:秒
				后面三个官网有介绍
			返回值: 上下文管理对象——context manager,但是对于不同的URL返回值略有不同,
				对于HTTP和HTTPS URL: 返回值是http.client.HTTPResponse对象
				对于获得数据、文本或者FTP等URL: 返回一个urllib.response.addinfourl对象。
		pathname2url(path): 将路径转换为URL
		url2pathname(path): 将url转换为路径
		getproxies():  获得代理服务器的url的字典
	类:
		Request(url,data = None,headers = {},origin_req_host = None,unverifiable = False,method = None):
			参数:
				url: 包含有效网址的字符串
				data: 指定发送到服务器的附加数据
				headers: 一般用来设置 User-Agent(浏览器标识),python2.6上默认为:"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"urllib"Python-urllib/2.6"。
				origin_req_host: 用户发起的原始请求的主机名或IP地址。
				unverifiable: 不是很理解
				method: 请求的方式,常见POST、GET
		OpenerDirector: 该OpenerDirector课程通过BaseHandler链接打开URL 。它管理处理程序的链接,并从错误中恢复。
		除此以外还有一些Handler的类,简而言之你可以把它理解为各种处理器,有专门处理登录验证的,有处理Cookies的,有处理代理设置的,利用它我们几乎可以做到任何 HTTP 请求中所有的事情。

		首先介绍下 urllib.request.BaseHandler,它是所有其他 Handler 的父类,它提供了最基本的 Handler 的方法,例如 default_open() 、protocol_request() 等。
		接下来就有各种 Handler 类继承这个 BaseHandler,列举如下:
			HTTPDefaultErrorHandler 用于处理HTTP响应错误,错误都会抛出 HTTPError 类型的异常。
			HTTPRedirectHandler 用于处理重定向。
			HTTPCookieProcessor 用于处理 Cookie 。
			ProxyHandler 用于设置代理,默认代理为空。
			HTTPPasswordMgr 用于管理密码,它维护了用户名密码的表。
			HTTPBasicAuthHandler 用于管理认证,如果一个链接打开时需要认证,那么可以用它来解决认证问题。
			另外还有其他的 Handler 可以参考官方文档。

猜你喜欢

转载自blog.csdn.net/Snrt_Julier/article/details/79016580
今日推荐