urllib3上与httplib2的接口匹配的包装器

httplib2shim的Python项目详细描述


Build StatusCoverage StatusPyPI Version

httplib2shimhttplib2的包装器,它使用urllib3执行http请求。该库旨在帮助现有的遗留库(及其用户)从^ TT2}$迁移。它不打算作为httplib2的通用替换。它不支持httplib2的所有功能和边缘大小写,但欢迎提供帮助来帮助我们处理这些情况。

目前,httplib2shim通过了httplib2的测试套件。一些不适用的测试被禁用,并且这些测试很可能不考虑客户端所依赖的行为。

用法

建议在安装httplib2shim之前安装urllib3[secure]

pip install urllib3[secure] httplib2shim

用法很简单。您可以使用httplib2shim.Http替换任何使用httplib2.Http的位置:

importhttplib2shimfromoauth2client.clientimportGoogleCredentialscredentials=GoogleCredentials.get_application_default()http=httplib2shim.Http()credentials.authorize(http)# http is now authorized with OAuth2 credentials and uses urllib3 under# the covers.

或者,如果不控制Http对象的构造,则可以使用httplib2shim.patch()httplib2.Http类进行猴子修补,以指向httplib2shim.Http()

importhttplib2shimhttplib2shim.patch()fromgoogleapiclient.discoveryimportbuildfromoauth2client.clientimportGoogleCredentialscredentials=GoogleCredentials.get_application_default()# build constructs its own httplib2.Http instance.service=build('compute','v1',credentials=credentials)# service.http is now a httplib2shim.Http object.

不支持的功能

  • 将接受http构造函数的参数,但这些参数可能不会产生任何影响。例如,ca_certs将不起作用。相反,传递一个urllib3.Pool实例http = httplib2shim.Http(pool=my_pool)
  • http.add_certificate是禁止操作,并将发出警告。
  • 可能还有其他人,欢迎拉取请求来完成功能。

促成变化

许可

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Java将JSON转换为哈希映射   java如何通过使用MapStruct从源对象复制值来填充目标对象内部的映射?   注入泛型类型为@InjectGuice的类时发生java错误   字符串如何在JavaIDE中导入基本符号   在Java中将JSON转换为List<List<String>>   java Java9 HttpClient SSLHandshakeException   java jOOQ代码生成器   java如何调整图标(图像按钮),使其不会放大?   java我可以在使用Eclipse时安装2个或更多Android SDK吗   sqlite Java实现DAO   如何解决此错误?“java.lang.NoSuchFieldError:org.apache.http.conn.ssl.SSLConnectionSocketFactory上的实例。<clinit>。”   java Maven:将基于OSP的zip文件解压缩到WEBINF/lib   java如何在每次调用函数时获取当前gps位置?