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 logging
Apr 15 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
python实现简单登陆流程的方法
Apr 22 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python使用sax模块解析XML文件示例
Apr 04 Python
python3 反射的四种基本方法解析
Aug 26 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
python list的index()和find()的实现
Nov 16 Python
windows安装python超详细图文教程
May 21 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
mysql 字段类型说明
2007/04/27 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
django fernet fields字段加密实践详解
2019/08/12 Python
Python进程池Pool应用实例分析
2019/11/27 Python
Python json格式化打印实现过程解析
2020/07/21 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
经济担保书范文
2014/04/02 职场文书
2014年底工作总结
2014/12/15 职场文书
清明节主题班会
2015/08/14 职场文书
初中英语教学反思范文
2016/02/15 职场文书
小数乘法教学反思
2016/02/22 职场文书
安全责任协议书范本
2016/03/23 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL