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

有什么区别?

我想我已经准备好 urllib 使用 httplib,我计划制作一个需要发出 http 请求的应用程序,到目前为止我只在 python 中使用 httplib.HTTPConnection 来请求,并且阅读了有关 urllib 的内容,我发现我也可以使用它来请求,那么其中之一有什么好处呢?

有帮助吗?

解决方案

URLLIB(特别是URLLIB2)默认处理许多件,或者有适当的LIBS这样做。例如,URLLIB2将自动遵循重定向,您可以使用cookiejar来处理登录脚本。如果您使用HTTPLIB,这些都是您必须编写的所有内容。

其他提示

我想说一些关于 urllib, urllib2, httplibhttplib2.

之间的主要区别 urllib*httplib* 就是它:

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

urllib 和 urllib2 建立在 httplib 之上,它们更加抽象和强大,但有时无法满足您对某些 HTTP 相关操作的指定需求。

而对于 httplibhttplib2, ,我想说他们都是 HTTP client library. 。然而 httplib2httplib.

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

urllib 和 urllib2 都是 Python 模块,它们执行 URL 请求相关的操作,但提供不同的功能。下面列出了它们的两个最显着的差异:

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

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

希望能帮助到你:-)

URLLIB / URLLIB2构建在HTTPLIB之上。它提供了更多的功能,而不是直接写入httplib。

但是,HTTPLIB使您更精细地控制底层连接。

如果您只使用HTTP / HTTPS处理并需要访问HTTP特定的东西,请使用HTTPLIB。

对于所有其他情况,请使用URLLIB2。

如果您需要高级别的东西,如缓存,保持活力,压缩或身份验证,请尝试 httplib2

对于那些移动到py3的事情(出于某种原因不能或没有重构使用令人敬畏的请求模块),这是版本之间的好转换:

try:
    import http.client as httplib
except ImportError:
    import httplib
.

在Python版本集中工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top