我有一个 python 客户端,它通过标准库的 httlib 推送大量数据。用户抱怨应用程序很慢。我怀疑这可能部分是由于我使用的 HTTP 客户端。
我可以通过用其他东西替换 httplib 来提高性能吗?
我已经看到twisted 提供了一个HTTP 客户端。与他们的其他协议产品相比,它似乎非常基础。
PyCurl 可能是一个有效的替代方案,但它的使用似乎非常不符合 Python 风格,另一方面,如果它的性能非常好,那么我可以忍受一些非 Python 风格的代码。
因此,如果您有更好的 Python HTTP 客户端库的经验,请告诉我。我想知道您对 httplib 相关性能的看法以及您对实现质量的看法。
UPDATE 0:我对httplib的使用其实是非常有限的——替换需要做到以下几点:
conn = httplib.HTTPConnection(host, port)
conn.request("POST", url, params, headers)
compressedstream = StringIO.StringIO(conn.getresponse().read())
就是这样:没有代理、重定向或任何花哨的东西。这是普通的 HTTP。我只需要能够尽可能快地做到这一点。
更新 1:我坚持使用 Python2.4,并且正在使用 Windows 32。请不要告诉我使用 httplib 的更好方法 - 我想了解 httplib 的一些替代方案。