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中的array数组模块相关使用
Jul 05 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
详解Django定时任务模块设计与实践
Jul 24 Python
pymysql 开启调试模式的实现
Sep 24 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
Python基础之列表常见操作经典实例详解
Feb 26 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
python 连续不等式语法糖实例
Apr 15 Python
Python调用shell命令常用方法(4种)
May 11 Python
python中K-means算法基础知识点
Jan 25 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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的论坛(4)
2006/10/09 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
28个JS验证函数收集
2010/03/02 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
利用aardio给python编写图形界面
2017/08/21 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
写给女朋友的检讨书
2014/01/28 职场文书
学历公证书范本
2014/04/09 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
个人作风建设自查报告
2014/10/22 职场文书
2014年司法局工作总结
2014/12/11 职场文书
婚礼答谢词
2015/01/04 职场文书
学习保证书
2015/01/17 职场文书
听证会主持词
2015/07/03 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
关于使用Redisson订阅数问题
2022/01/18 Redis
Redis全局ID生成器的实现
2022/06/05 Redis