您的位置:首页 > 编程语言 > Python开发

urllib和urllib2区别 python2.x

2016-07-10 16:04 381 查看
【总述】可以把urllib2当作urllib的扩增,比较明显的优势是urllib2.urlopen可以接受Request对象作为参数,从而可以控制HTTP Request的header部。

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

 
[align=justify][/align]

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? 
[align=justify][/align]

 

你可能对于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字符串等。
[align=justify][/align]

 

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一起使用的原因。

[align=justify][/align]
[align=justify][/align]

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. 
[align=justify][/align]

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

相关资料
[align=justify][/align]

 
[align=justify][/align]

这里还有个类似的问答:urllib
urllib2 what is the difference ?
[align=justify][/align]

stackoverflow上也有:Should
I use urllib or urllib2?
[align=justify][/align]

Python
Docs

urllib
urllib2

转自:http://www.cnblogs.com/yuxc/archive/2011/08/01/2124073.html

[align=justify][/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息