Python: Difference between urllib and urllib2
What is the difference between urllib
and urllib2
modules of Python?#
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?
urllib
and urllib2
are both Python modules that do URL request related stuff but offer different functionalities. Their two most significant differences are listed below:
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.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 whyurllib
is often used along withurllib2
.
For other differences between urllib
and urllib2
refer to their documentations, the links are given in the References section.
Exercise#
- What is User Agent?
- What is the difference between GET and POST request methods?
- What is HTTP?