Python urllib vs httplib?

jah*_*max 53 python http urllib httplib

什么时候会有人使用httplib和什么时候urllib?

有什么区别?

我想我准备好urllib使用httplib,我打算制作一个需要发出http请求的应用程序,到目前为止我只在python中使用httplib.HTTPConnection请求,并阅读urllib我看到我也可以使用它来获取请求,那么一个或另一个的好处是什么?

Rob*_*bus 45

urllib(特别是urllib2)默认处理很多东西,或者有相应的lib来执行此操作.例如,urllib2将自动跟踪重定向,您可以使用cookiejar来处理登录脚本.如果您使用的是httplib,这些都是您自己编写代码的所有内容.

  • 简而言之,不要使用.使用urllib2? (2认同)

小智 17

我想谈一下urllib,urllib2,httplibhttplib2.

之间的主要不同urllib*httplib*是:

httplib和httplib2直接处理HTTP/HTTPs请求和响应,并为您提供更多空间来完成自己的工作.

urllib和urllib2是基于httplib构建的,它们更抽象,更强大,但有时无法满足您对某些HTTP相关操作的指定需求.

对于httplibhttplib2,我会说他们都是HTTP client library.然而,httplib2功能更强大,功能更多httplib.

至于urlliburllib2,从这个链接引用:

urllib和urllib2都是Python模块,它们执行URL请求相关的东西,但提供不同的功能.它们的两个最显着的差异如下:

  • urllib2可以接受Request对象来设置URL请求的头,urllib只接受一个URL.这意味着,您无法伪装您的用户代理字符串等.
  • urllib提供了用于生成GET查询字符串的urlencode方法,urllib2没有这样的功能.这是urllib经常与urllib2一起使用的原因之一.

我会推荐我的个人博客Httplib Httplib2 Urllib Urllib2 - 有什么区别.

希望能帮助到你:-)


Cor*_*erg 9

urllib/urllib2建立在httplib之上.它提供的功能比直接写入httplib更多.

但是,httplib可以更好地控制底层连接.


Mat*_*ner 6

如果您只处理http/https并需要访问HTTP特定的东西,请使用httplib.

对于所有其他情况,请使用urllib2.


opt*_*ixx 5

如果您需要高级内容,如缓存,保持活动,压缩或身份验证,请尝试httplib2