Python的urllib与httplib?
什么时候会有人使用httplib,何时使用urllib?
有什么区别?
我想我准备urllib使用httplib,我打算做一个应用程序,将需要作出http请求,到目前为止,我只使用httplib.HTTPConnection python的请求,并阅读关于urllib我看我也可以使用它的请求,那么这个或那个的好处是什么?
urllib(特别是urllib2)默认处理很多事情,或者有适当的库来做。 例如,urllib2将自动遵循redirect,您可以使用cookiejar来处理login脚本。 如果你使用的是httplib,这些都是你自己编码的东西。
 我想说一说关于urllib , urllib2 , httplib和httplib2 。 
  urllib*和httplib*的主要区别在于: 
httplib和httplib2直接处理HTTP / HTTP请求和响应,给你更多的空间来完成自己的工作。
urllib和urllib2build立在httplib之上,它们更加抽象和强大,但是有时候不能满足你对HTTP相关操作的指定需求。
 而对于httplib和httplib2 ,我会说他们都是HTTP client library 。 然而, httplib2function比httplibfunction强大得多。 
 至于urllib和urllib2 ,从这个链接引用: 
urllib和urllib2都是与URL请求相关的东西,但提供不同的function的Python模块。 他们的两个最重要的差异如下:
- urllib2可以接受一个Request对象来为一个URL请求设置标题,urllib只接受一个URL。 这意味着,你不能伪装你的用户代理string等
- urllib提供了用于生成GET查询string的urlencode方法,urllib2没有这样的函数。 这是为什么urllib经常与urllib2一起使用的原因之一。
我会推荐我的个人博客Httplib Httplib2 Urllib Urllib2-有什么不同 。
希望能帮助到你:-)
urllib / urllib2构build在httplib之上。 它提供了比直接写入httplib更多的function。
但是,httplib可以更好地控制底层连接。
如果您只处理http / https并需要访问HTTP特定的东西,请使用httplib。
对于所有其他情况,请使用urllib2。
 如果您需要caching,保持活动,压缩或身份validation等高级别的function,请尝试httplib2 
对于那些将事物移动到Py3(由于某些原因,不能或不重构使用真棒请求模块),这是一个很好的过渡之间的版本:
 try: import http.client as httplib except ImportError: import httplib 
适用于两个Python版本集。