Python库urllib与urllib2主要区别分析


Posted in Python onJuly 13, 2014

作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版。今天看到老外写的一篇《Python: difference between urllib and urllib2》才明白其中的区别

You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even more intriguing: they are not alternatives for each other. So what is the difference between urllib and urllib2, and do we need them both?

你可能对于Python中两个独立存在的-urllib2和-urllib2感到好奇。更有趣的是:它们并不是可以相互代替的。那么这两个模块间的区别是什么,并且这两个我们都需要吗?

urllib and  urllib2are both Python modules that do URL request related stuff but offer different functionalities. Their two most significant differences are listed below:

urllib 和urllib2都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:

•urllib2 can accept a Request object to set the headers for a URL request,urllib accepts only a URL. That means, you cannot masquerade your User Agent string etc.

urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。

•urllib provides the urlencode method which is used for the generation of GET query strings, urllib2 doesn't have such a function. This is one of the reasons why urllib is often used along with urllib2.

urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。 

 For other differences between urllib and urllib2 refer to their documentations, the links are given in the References section.
Tip: if you are planning to do HTTP stuff only, check out httplib2, it is much better than httplib or urllib or urllib2.

提示:如果你仅做HTTP相关的,看一下httplib2,比其他几个模块好用。

相关资料

这里还有个类似的问答:urllib urllib2 what is the difference ?

stackoverflow上也有:Should I use urllib or urllib2?

Python Docs

  1. urllib
  2. urllib2
Python 相关文章推荐
编写简单的Python程序来判断文本的语种
Apr 07 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
python科学计算之narray对象用法
Nov 25 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
Python中Selenium库使用教程详解
Jul 23 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
Python文件夹与文件的操作实现代码
Jul 13 #Python
分享15个最受欢迎的Python开源框架
Jul 13 #Python
使用 Python 获取 Linux 系统信息的代码
Jul 13 #Python
Python文件操作类操作实例详解
Jul 11 #Python
Python编写检测数据库SA用户的方法
Jul 11 #Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 #Python
python文件和目录操作函数小结
Jul 11 #Python
You might like
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
vue实现购物车列表
2020/06/30 Javascript
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python实现多进程通信实例分析
2019/09/01 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
判断单链表中是否存在环
2012/07/16 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
师范应届生求职信
2013/11/15 职场文书
打架检讨书2000字
2014/02/22 职场文书
药店采购员岗位职责
2014/09/30 职场文书
2014年终个人工作总结
2014/11/07 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
领导欢迎词范文
2015/01/26 职场文书
学校实习推荐信
2015/03/27 职场文书
交通事故代理词范文
2015/05/23 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL