对urllib3的包装,以匹配httplib2的接口
项目描述
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
是一个无操作,将发出警告。可能还有其他特性,欢迎通过拉取请求来完善功能。
贡献更改
许可
MIT - 请参阅LICENSE
项目详情
关闭
httplib2shim-0.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c61daebd93ed7930df9ded4dbf47f87d35a8f29363d6e399fbf9fec930f8d17 |
|
MD5 | 72b5c32eb2ea9cc2d7e707c72cac4524 |
|
BLAKE2b-256 | 5ebfd2762b70dd184959ac03f1ccbb61bff5b8bbfa9c0b7cc8ed522b963cd198 |