Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Asynchronous HTTP client/server framework for asyncio and Python

License

NotificationsYou must be signed in to change notification settings

aio-libs/aiohttp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12,973 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

aiohttp logo


GitHub Actions status for master branchcodecov.io status for master branchLatest PyPI package versionDownloads countLatest Read The DocsCodspeed.io status for aiohttp

Key Features

  • Supports both client and server side of HTTP protocol.
  • Supports both client and server Web-Sockets out-of-the-box and avoidsCallback Hell.
  • Provides Web-server with middleware and pluggable routing.

Getting started

Client

To get something from the web:

importaiohttpimportasyncioasyncdefmain():asyncwithaiohttp.ClientSession()assession:asyncwithsession.get('http://python.org')asresponse:print("Status:",response.status)print("Content-type:",response.headers['content-type'])html=awaitresponse.text()print("Body:",html[:15],"...")asyncio.run(main())

This prints:

Status: 200Content-type: text/html; charset=utf-8Body: <!doctype html> ...

Coming fromrequests ? Readwhy we need so many lines.

Server

An example using a simple server:

# examples/server_simple.pyfromaiohttpimportwebasyncdefhandle(request):name=request.match_info.get('name',"Anonymous")text="Hello, "+namereturnweb.Response(text=text)asyncdefwshandle(request):ws=web.WebSocketResponse()awaitws.prepare(request)asyncformsginws:ifmsg.type==web.WSMsgType.text:awaitws.send_str("Hello, {}".format(msg.data))elifmsg.type==web.WSMsgType.binary:awaitws.send_bytes(msg.data)elifmsg.type==web.WSMsgType.close:breakreturnwsapp=web.Application()app.add_routes([web.get('/',handle),web.get('/echo',wshandle),web.get('/{name}',handle)])if__name__=='__main__':web.run_app(app)

Documentation

https://aiohttp.readthedocs.io/

Demos

https://github.com/aio-libs/aiohttp-demos

External links

Feel free to make a Pull Request for adding your link to these pages!

Communication channels

aio-libs Discussions:https://github.com/aio-libs/aiohttp/discussions

Matrix:#aio-libs:matrix.org

We supportStack Overflow.Please addaiohttp tag to your question there.

Requirements

Optionally you may install theaiodns library (highly recommended for sake of speed).

License

aiohttp is offered under the Apache 2 license.

Keepsafe

The aiohttp community would like to thank Keepsafe(https://www.getkeepsafe.com) for its support in the early days ofthe project.

Source code

The latest developer version is available in a GitHub repository:https://github.com/aio-libs/aiohttp

Benchmarks

If you are interested in efficiency, the AsyncIO community maintains alist of benchmarks on the official wiki:https://github.com/python/asyncio/wiki/Benchmarks


Matrix Room — #aio-libs:matrix.orgMatrix Space — #aio-libs-space:matrix.orgLFX Health Score

About

Asynchronous HTTP client/server framework for asyncio and Python

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2026 Movatter.jp