The same taste as Requests!
from curio import run
from curequests import get, post
async def main():
r = await get('https://httpbin.org/get')
print(r.json())
r = await post('https://httpbin.org/post', json={'hello': 'world'})
print(r.json())
run(main)
Python 3.6+ is required.
pip install curequests
Follow http://docs.python-requests.org/en/master/#the-user-guide
Work in progress, Not production ready!
- Make a Request
- Passing Parameters In URLs
- Response Content
- Binary Response Content
- JSON Response Content
- Custom Headers
- POST a Multipart-Encoded File
- Response Status Codes
- Response Headers
- Cookies
- Redirection and History
- Timeouts
- Errors and Exceptions
- Session Objects [CuSession]
- Request and Response Objects [CuResponse]
- Prepared Requests [CuRequest, CuPreparedRequest]
- SSL Cert Verification
- Client Side Certificates
- CA Certificates
- Body Content Workflow
- Keep-Alive
- Streaming Uploads
- Chunk-Encoded Requests [Generator / Async Generator]
- POST Multiple Multipart-Encoded Files
- Event Hooks
- Custom Authentication
- Streaming Requests [Async Generator]
- Proxies [HTTP&HTTPS, not support SOCKS currently]
- Compliance
- HTTP Verbs
- Custom Verbs
- Link Headers
- Transport Adapters [CuHTTPAdapter]
- Blocking Or Non-Blocking?
- Header Ordering
- Timeouts
- Authentication
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.md.
- https://github.com/littlecodersh/trip Async HTTP for Humans, Tornado & Requests In Pair
- https://github.com/theelous3/asks Async requests-like httplib for python