跳转到主要内容

对urllib3的包装,以匹配httplib2的接口

项目描述

Build Status Coverage Status PyPI Version

httplib2shim 是一个使用 urllib3 执行HTTP请求的 httplib2 包装器。这个库旨在帮助现有的旧版库(及其用户)迁移离开 httplib2。它不打算作为 httplib2 的一般用途替代品。它不支持 httplib2 的每个功能和边缘情况,尽管我们欢迎贡献来帮助我们覆盖这些情况。

目前,httplib2shim 通过了 httplib2 的测试套件。一些不相关的测试已被禁用,而且很可能测试没有考虑到客户端所依赖的行为。

使用方法

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

pip install urllib3[secure] httplib2shim

使用方法简单。您可以在任何使用 httplib2.Http 的地方替换为 httplib2shim.Http

import httplib2shim
from oauth2client.client import GoogleCredentials


credentials = 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()

import httplib2shim
httplib2shim.patch()

from googleapiclient.discovery import build
from oauth2client.client import GoogleCredentials

credentials = 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是一个无操作,将发出警告。

  • 可能还有其他特性,欢迎通过拉取请求来完善功能。

贡献更改

许可

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

httplib2shim-0.0.3.tar.gz (17.4 kB 查看哈希值)

上传时间 源代码

由以下提供支持