每当查看python的API库时,似乎只有一半的人简单地使用:

response = urllib2.urlopen('https://www.example.com/api', data)

大约一半使用:

connection = httplib.HTTPSConnection('www.example.com/api')
# ... rest omitted for simplicity

我倾向于认为第二版是“冷却器”(我偏向于大多数事情的一种更加一种方法)。

是否有一个比另一个使用的好处或理由。或者,我一路上错过了一些东西。我会怀疑 urllib2.urlopen 用途 HTTPSConnection 在其实施中,也许只是代表我的编码较少。无论哪种方式,我都喜欢一些反馈。谢谢。

有帮助吗?

解决方案

是的, urllib2 用途 HTTPSConnection (或任何适合该协议的连接)在其实施中。基本上,这只是一个捷径,做人们最常见的事情 httplib.

urllib2 还有一些代码可以处理重定向和身份验证请求之类的内容,如果您使用普通的情况,您可能需要手动编码的所有内容 httplib.

编辑: :回答迈克尔的评论,如果您想知道对象与数据……这取决于您要处理的事情。如果您需要连接对象(例如,对其做一些特别的事情,也许是一个库存连接),请肯定,继续使用 httplib 方式并返回连接对象。但是,如果您只是想获取数据,只需获取数据并将其返回。如果您喜欢OOP,请知道Python中的所有内容都是一个对象。你从中得到的 urllib2.urlopen 是一个类似文件的对象,它具有将其值作为字符串对象或行列表(也是字符串对象)检索的方法。我认为大多数Python程序员都会认为使用努力 httplib 在后一种情况下。

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