Python:urllib 和urllib2之間的區別

做爲一個Python菜鳥,以前一直懵懂於urllib和urllib2,覺得2是1的升級版。今天看到老外寫的一篇《Python: difference between urllib and urllib2》才明白其中的區別。html

 

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

 

你可能對於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請求的相關模塊,可是提供了不一樣的功能。兩個最顯著的不一樣以下:ide

  • 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字符串等。ui

 

  • 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一塊兒使用的緣由。google


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. url

提示:若是你僅作HTTP相關的,看一下httplib2,比其餘幾個模塊好用。spa

相關文章
相關標籤/搜索