任何HTTP API的简单异步客户端

aio-apiclient的Python项目详细描述


aio apiclient–适用于任何httpapi的简单异步客户端

Tests StatusPYPI Version

Features

  • 使用任何httpapi(尤其是REST)可以方便地工作
  • 支持httpxaiohttp作为发出请求的后端
  • 非常可配置和可用
  • 自动分析响应的能力

Requirements

  • python>;=3.4

Installation

aio apiclient应使用pip安装:

pip install aio-apiclient

QuickStart

Github API(https://developer.github.com/v4/):

^{pr2}$

松弛API(https://api.slack.com/web):

fromapiclientimportAPIClientclient=APIClient('https://api.github.com',headers={'Authorization':'token OAUTH-TOKEN'})# Update current user status (we don't care about this response)awaitclient.api['users.profile.set'].post(json={'profile':{'status_text':'working','status_emoji':':computer:''status_expiration':30,}},read_response_body=False)

等等

Usage

Initialization

客户端初始化需要所需API的根URL。在

fromapiclientimportAPIClientclient=APIClient(# Root URL for any API (required)'https://api.github.com',# Raise `client.Error` for any response with status code > 400raise_for_status=True,# Set to `False` if you only want to make a request and doesn't care about responsesread_response_body=True,# Parse response's body content-type and return JSON/TEXT/Form data instead the response itself# Set total timeout in secondstimeout=10.0,# Set backend for making requests (apiclient.backends.BackendHTTPX,# apiclient.backends.BackendAIOHTTP) by default first available would be# choosenbackend=None,# Default backend options to use with every request (headers, params, data, ...)# ...)

App Shutdown

api客户端支持优雅关闭。跑等待客户端关闭()何时 你正在完成你的应用程序(不需要)。在

Middlewares

您可以使用中间件对请求参数(方法、url、其他后端参数)进行日常更改。在

importtimefromapiclientimportAPIClientclient=APIClient('https://api.github.com')@client.middlewareasyncdefinsert_timestamp_header(method,url,options):options.setdefault('headers',{})options['headers']['X-Timestamp']=str(time.time())returnmethod,url,options

Bug tracker

如果您有任何建议,错误报告或 烦恼请向问题追踪者报告 在https://github.com/klen/aio-apiclient/issues

License

根据MIT license授权。在

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

推荐PyPI第三方库


热门话题
java如何让用户决定按钮的特定颜色   java Tomcat jdbc连接池,使用后不释放连接   Java泛型类可分配性   javaactivemq&如何在路由路径中创建依赖关系   java为什么没有接收到操作用户?   windows如何启动使用cmd中预编译DLL的java swing应用程序?   java JFreechart实时组合图,在未收到数据点的情况下呈现step子图表的上一个值   java排序自定义数组列表   java如何从HSLFSlideShow获取文本格式信息   java不能将片段和活动登录结合起来   java是下载位于远程存储服务中的文件的有效方法   java AS:将点数交给GameOverActivity   java如何在textView中将焦点放在新生成文本的顶部?   HashMap中特定于Java存储的类类型   java使用不同的变量类型进行计算   if语句中的Java poll()   检查匹配括号的java字符堆栈没有错误,但也没有任何作用   java Netbeans不断将应用程序部署到错误的服务器