python – 使用httplib2.Http()对象时的最佳实践

python – 使用httplib2.Http()对象时的最佳实践,第1张

概述我正在编写一个类似于此类的 pythonic Web API包装器 import httplib2import urllibclass apiWrapper: def __init__(self): self.http = httplib2.Http() def _http(self, url, method, dict): ''' 我正在编写一个类似于此类的 pythonic Web API包装器
import httplib2import urllibclass APIWrapper:    def __init__(self):        self.http = httplib2.http()    def _http(self,url,method,dict):        '''        Im using this wrapper arround the http object        all the time insIDe the class        '''        params = urllib.urlencode(dict)        response,content = self.http.request(url,params,method)

正如您所看到的,我正在使用_http()方法来简化与httplib2.http()对象的交互.这个方法经常在类中调用,我想知道与这个对象交互的最佳方法是什么:

>在__init__中创建对象,然后在调用_http()方法时重用它(如上面的代码所示)
>或者为每次调用_http()方法在方法内创建httplib2.http()对象(如下面的代码示例所示)

import httplib2import urllibclass APIWrapper:    def __init__(self):    def _http(self,dict):        '''Im using this wrapper arround the http object        all the time insIDe the class'''        http = httplib2.http()        params = urllib.urlencode(dict)        response,content = http.request(url,method)
解决方法 如果重用连接,则应保留http对象.似乎httplib2能够以你在第一个代码中使用它的方式重用连接,所以这看起来是一个很好的方法.

同时,从对httplib2代码的浅层检查来看,似乎httplib2不支持清理未使用的连接,甚至不知道服务器何时决定关闭它不再需要的连接.如果确实如此,它看起来像是httplib2中的一个错误 – 所以我宁愿使用标准库(httplib).

总结

以上是内存溢出为你收集整理的python – 使用httplib2.Http()对象时的最佳实践全部内容,希望文章能够帮你解决python – 使用httplib2.Http()对象时的最佳实践所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存