python 网络库

| 分类 PYTHON  | 标签 python 

python 网络库

python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requests

python3.X 有这些库名可用: urllib, urllib3, httplib2, requests

两者都有的 urllib3 和 requests,它们不是标准库。urllib3 提供线程安全连接池和文件 post支持,与 urllib 及 urllib2 的关系不大。requests 自称 HTTP for Humans,使用更简洁方便,但不够通用。

For python 2.x

urllib和urllib2的主要区别:

  1. urllib2可以接受Request对象为URL设置头信息,修改用户代理,设置cookie等,urllib只能接受一个普通的URL。
  2. urllib提供一些比较原始基础的方法而urllib2没有这些,比如 urlencode。

httplib 和 httplib2

httplib 是http客户端协议的实现,通常不直接使用,urllib是以httplib为基础的。

httplib2 是第三方库,比httplib有更多特性

httplib 比较底层,一般使用的话用urllib和urllib2即可

For python 3.x

在python3中,urllib成了一个包,此包分成了几个模块

urllib.request		# 用于打开和读取URL, 
urllib.error		# 用于处理前面request引起的异常, 
urllib.parse		# 用于解析URL, 
urllib.robotparser	# 用于解析robots.txt文件

python2.X 中的 urllib.urlopen()被废弃,urllib2.urlopen()相当于python3.X中的urllib.request.urlopen()。


上一篇     下一篇