Python库urllib与urllib2主要区别分析
作为一个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 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相关的,看一下,比其他几个模块好用。
相关资料
这里还有个类似的:urllib urllib2 what is the difference ?
*上也有:should i use urllib or urllib2?
python docs
上一篇: 送给情人的礼物