人道主义者的http。

clients的Python项目详细描述


imageimageimageimageimageimageimageimage

客户提供requestsaiohttp鼓励最佳实践的包装, 尤其是始终使用会话连接到同一主机或api端点。

用法

典型的requests用法是多余和低效的, 不利用连接池。

r=requests.get('https://api.github.com/user',headers={'authorization':token})r=requests.get('https://api.github.com/user/repos',headers={'authorization':token})

使用会话是更好的方法, 但是,更详细和实际需要手动url连接。

s=requests.Session()s.headers['authorization']=tokenr=s.get('https://api.github.com/user')r=s.get('https://api.github.com/user/repos')

客户机

客户端通过隐式url连接使会话的使用变得更容易。

client=clients.Client('https://api.github.com/',headers={'authorization':token})r=client.get('user')r=client.get('user/repos')

资源将客户端扩展为隐式处理响应内容, 正确检查状态代码和内容类型。

github=clients.Resource('https://api.github.com/',headers={'authorization':token})forrepoingithub.get('user/repos',params={'visibility':'public'}):...

资源

资源还实现了对getattrcall等方法的语法支持, 为客户提供的大部分好处没有进一步的定义。

forrepoingithub.user.repos(visibility='public'):...

由于是基于会话的,客户机可以与其他requests适配器无缝地工作, 例如CacheControl。 所有客户机类型的异步变体都在Python 3中提供, 使用aiohttp而不是requestsRPC的其他客户端, 还提供了{A17}和代理。

安装

$ pip install clients

依赖关系

  • 请求>;=2.4.2
  • aiohttp(如果是python 3)

测试

100%分行覆盖。

$ pytest [--cov]

更改

1.0

  • 允许缺少内容类型
  • 授权头中支持的OAuth访问令牌

0.5

  • AsyncClient默认参数
  • RemoteAsyncRemote过程调用
  • GraphAsyncGraph执行GraphQL查询
  • ProxyAsyncProxy客户端

0.4

  • 异步客户端和资源

0.3

  • singleton装饰器

0.2

  • 资源属性向上转换回client
  • iterdownload使用流式内容实现get请求
  • create实现post请求并返回位置头
  • update使用json参数实现修补程序请求
  • __call__使用参数实现get请求

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

推荐PyPI第三方库


热门话题
如何在Java和Javascript之间共享常量   c#无法使用Gson反序列化字节[]   如果字符串是实十进制数字,则在Java中仅显示十进制数字   与Android Studio的java FireBase同步失败   web应用程序的Java Oracle数据库更改通知问题   数组中缺少整数的java嵌套循环   zos在z/os上以TOD格式(一天中的时间)转换Java时间戳   java JAXB未根据注释生成XML(JDK 1.7)   java使用Twitter4j和Geolocation查找在该地区发布推文的用户,但如何获取用户ID?   在Libgdx中实现简单运动模糊的java意外结果   java在Android数据库中插入另一个EditText值?   java标准偏差数组(我的算法错误)   java如何修复M1 Mac的Ant javascript标记?   java遍历树标记值的长度   java理解Springboot中的Cron,自动发送电子邮件   java如何将“Data.Json”文件从资产保存到内部存储器,然后将其用于读/写   java代码在编写FirstDuplicate方法时会遇到时间限制问题   java将HTML转换为PDF并将其添加到段落中   javascript css()未设置正文标记的背景属性