轻量级http客户端

bareclient的Python项目详细描述


bareclient

一个简单的异步http客户端。

说明

此包为h11提供异步传输。

它很少试图提供任何有用的特性。

安装

这是一个Python3.7包。

pip install bareclient

用法

基本用法是创建一个HttpClient

importasynciofrombareclientimportHttpClientimportsslasyncdefmain(url,headers,ssl):asyncwithHttpClient(url,method='GET',headers=headers,ssl=ssl)as(response,body):print(response)ifresponse.status_code==200:asyncforpartinbody():print(part)url='https://docs.python.org/3/library/cgi.html'headers=[(b'host',b'docs.python.org'),(b'connection',b'close')]ssl_context=ssl.SSLContext()loop=asyncio.get_event_loop()loop.run_until_complete(main(url,headers,ssl_context))

还有一个用于保持活动连接的HttpSession

importasynciofrombareclientimportHttpSessionimportsslasyncdefmain(url,headers,paths,ssl):asyncwithHttpSession(url,ssl=ssl)asrequester:forpathinpaths:response,body=awaitrequester.request(path,method='GET',headers=headers)print(response)ifresponse.status_code==200:asyncforpartinbody():print(part)url='https://docs.python.org'headers=[(b'host',b'docs.python.org'),(b'connection',b'keep-alive')]paths=['/3/library/cgi.html','/3/library/urllib.parse.html']ssl_context=ssl.SSLContext()loop=asyncio.get_event_loop()loop.run_until_complete(main(url,headers,paths,ssl_context))

最后还有一个helper函数来获取json。

importasyncioimportsslfrombareclientimportget_jsonasyncdefmain(url,ssl):obj=awaitget_json(url,ssl=ssl)print(obj)url='https://jsonplaceholder.typicode.com/todos/1'ssl_context=ssl.SSLContext()loop=asyncio.get_event_loop()loop.run_until_complete(main(url,ssl_context))

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

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像