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第三方库


热门话题
显示图像的RGB编号的java   java JavaFX画布2D游戏:背景变换vs.绘画   在到达maxElementsInMemory之前创建的java DiskMarker   a4j:ajax可用事件的java详尽列表?   java从批处理文件运行jar文件,如果出现错误,则显示meessage   音频Java在背景音乐之上播放声音   用于在FTP中上载文件的java更改目录   尽管设置了必要的属性,java列表项仍不会保持选中状态   java Stanford Core NLP解析与CSV   java使用缓冲区合并热态和冷态   java无法初始化类javax。加密。JCE安全   对这个Java循环如此困惑的输入   java Spring RabbitMQ SimpleRabbitListenerContainerFactory用法   java如何使用jGrowl创建JSF消息   安装jRebel插件后,Netbeans项目中的java源文件夹不可见?   如何在Java中解析复杂的json字符串   java Spark KafkaUtils CreateRDD在键上应用过滤器   try块中的java代码被忽略,为什么?