题
每当查看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
在后一种情况下。
不隶属于 StackOverflow